いつもやり方忘れてしまうので、メモ。
単一カラムに対するユニーク設定
djangoでモデルのあるカラムをユニークにするには、 以下のようにモデル定義のオプション引数として unique=True
を渡してやればOKです。
from django.db import models class SomeModel(models.Model): column1 = models.CharField(max_length=255, unique=True)
複数カラムセットでユニークにする設定
カラム一つに対してユニーク設定をかけたい場合は上記で問題ありませんが、「複数カラムセットでユニーク」な設定をかけたい場合は、以下のように書く必要があります。
from django.db import models class SomeModel(models.Model): column1 = models.CharField(max_length=255) column2 = models.CharField(max_length=255) class Meta: unique_together = ("column1", "column2",)
参考にしたサイト
https://docs.djangoproject.com/en/2.1/ref/models/fields/#django.db.models.Field.unique
https://stackoverflow.com/questions/2201598/how-to-define-two-fields-unique-as-couple