Django ORM - 2개 이상의 필드로 unique 설정하기

장고 모델을 만들다 보면, unique 필드로 키를 등록해서 사용하곤 한다. 그런데 중복은 되는데 각 사용자별 중복은 허용하지 않도록 지정하기 위해서는 2개 이상의 필드를 묶어서 unique 하게 동작하도록 해야 한다. 

 

이때 사용하는 구문은 다음과 같다. UniqueConstraint

 

https://stackoverflow.com/questions/2881043/django-create-a-unique-database-constraint-for-2-or-more-fields-together

 

Django 2.2 introduced UniqueConstraint and the note in the official documentation on this topic suggests that unique_together might be deprecated in future. See deprecation note here.

You can add UniqueConstraint to the Meta.constraints option of your model class like so:

class Meta:
    constraints = [
        models.UniqueConstraint(fields=['poll', 'user_id'], name="user-polled")
        ]

 

세상에는 알아야 쓸수 있다 좀 더 매진하자

국내 글을 찾다 보면 아래 글도 참고할 만 하다.

- Django 모델의 Unique 데이터 만들기

 

좋은 것을 잘 찾아야 한다

Julia Filirovska 님의 사진, 출처: Pexels