Djangoで「” must be unique because it is named as the ‘USERNAME_FIELD’」

今回はDjangoを使用しているときに、「” must be unique because it is named as the ‘USERNAME_FIELD’」というエラーが出たときの対処法についてご紹介いたします。



Djangoで「” must be unique because it is named as the ‘USERNAME_FIELD’」

Djangoを使用して開発を行っているときに、表題のエラーが出てしまいました。

DjangoでCustomUserを作ってUSERNAME_FIELDを設定したときのことです。

結論を言うと、下記のStack Overflowを読んで解決いたしました。
https://stackoverflow.com/questions/28323764/django-custom-user-model-with-unique-together-on-the-email

どうやら、Djangoの公式ドキュメントによると、USERNAME_FIELDに設定したモデルのフィールドはユニーク制約がついていけないといけないみたいです。

私が設定した時はUSERNAME_FIELDにemailを設定していましたが、emailにはユニーク制約がついてなく、emailにユニーク制約をつけることで上記エラーが解決いたしました。

この記事が皆様の参考になれば幸いです。

終わりに

今回はDjangoを使用しているときに、「” must be unique because it is named as the ‘USERNAME_FIELD’」というエラーが出たときの対処法についてご紹介いたしました。

最後までお読みいただきありがとうございます。
ブログやTwitterでのシェアOKです。
コメントもお待ちしております。
誤植や勘違いなどございましたらコメント欄にて教えていただけると幸いです。






Django

Posted by ちこ