django unique_together 정리

2019-04-13

CKEditor를 적용하고 글을 쓰려고 하니 자꾸 UNIQUE constraint failed, IntegrityError에러가 발생했다. 아무리 검색해도 나오지를 않아서 에러 페이지를 보고 자체적으로 코드를 따라가면서 봤더니 Post에 unique_together가 있는데 거기에 user가 들어있어서 포스트를 한 사람이 여러개를 작성할 수 없게되는 그런 오류였다. 문서를 보니 tuple 형태로 database level에서 제약을 걸어버리는 듯 했다. 어쩐지 Admin에서 글을 쓰려고 해도 유저가 중복됐다고 하면서 오류가 나더라

또한 ManyToManyField에는 unique_together가 적용되지 않는다고 한다. 그래서 사용하고 싶으면 through model을 써보라고 한다.

https://docs.djangoproject.com/ko/2.2/ref/models/options/#unique-together