Django model中设置多个字段联合唯一约束

使用Django中遇到这样一个需求,对一个表的几个字段做 联合唯一索引,例如学生表中 姓名和班级 2个字段在一起表示一个唯一记录。

Django中model部分的写法, 参见 unique-together 部分文档。

class MyModel(models.Model):
  field1 = models.CharField(max_length=50)
  field2 = models.CharField(max_length=50)

  class Meta:
    unique_together = ('field1', 'field2',)

对应到 MySQL 中的 SQL , 类似如下的语句

CREATE UNIQUE INDEX index_name ON tablename(field1, field2);

你可能感兴趣的:(Django)