Django 複数フィールドにユニーク制約(複合ユニーク)をつける方法
ここでは二つの方法を紹介します。二つ紹介する理由としては、片方はいままで主流だったけども、これから使えなくなる可能性があるためです。
以下のようにclass Metaの中に書き込みます。
class Meta:
constraints = [
models.UniqueConstraint(
fields=["teacher", "student", "date"],
name="lesson_unique"
),
]
複数のペアを作る場合は、constraintsがリストになっているので、どんどん追加していけばオッケーです。
ユニーク制約をつけたい時、これまではunique_togetherという書き方を利用するのが一般的だったと思いますが、この書き方は将来使えなくなる可能性があるとのことです。
class Meta:
unique_together = (('askFrom', 'askTo'), )
この記事が気に入ったらサポートをしてみませんか?