在Django中,可以使用models.UniqueConstraint类来创建联合唯一索引。这个类允许你在一个或多个字段上创建唯一约束,以确保这些字段的组合值在数据库表中是唯一的。
下面是一个使用models.UniqueConstraint创建联合唯一索引的示例:
from django.db import models
class MyModel(models.Model):
field1 = models.CharField(max_length=100)
field2 = models.CharField(max_length=100)
class Meta:
constraints = [
models.UniqueConstraint(fields=['field1', 'field2'], name='unique_field1_field2')
]
在上面的例子中,MyModel模型具有两个字段 field1 和 field2。通过将这两个字段传递给 fields 参数,我们创建了一个名为 'unique_field1_field2' 的唯一约束。
这将确保在数据库表中,field1 和 field2 的组合值是唯一的。如果尝试创建重复的组合值,Django会引发django.db.utils.IntegrityError异常。
注意:在使用联合唯一索引时,如果某个字段允许为NULL,则它的null=True属性必须设置为True,否则将会引发完整性错误。
推荐文章
发表评论