如果您只想使用唯一的混合字段,请使用以下代码:
class MyTable(models.Model): class Meta: unique_together = (('key1', 'key2'),) key1 = models.IntegerField() key2 = models.IntegerField()
但是如果你想要一起独一无二,并且其中一列是主要的,那么设置 primary 模型列的参数,类似下面的代码:
primary
class MyTable(models.Model): class Meta: unique_together = (('key1', 'key2'),) key1 = models.IntegerField(primary_key=True) key2 = models.IntegerField()
复合键由多个属性组成,用于唯一标识实体事件。这与复合键的不同之处在于构成键的一个或多个属性本身不是简单键。
例如,您有一个包含CD集合的数据库。其中一个实体称为轨道,它保存CD上轨道的细节。它有一个CD名称,轨道号的复合键。
Django不支持复合主键。您可以使用创建单个复合唯一键 Meta.unique_together 。
Meta.unique_together