如何使用Django创建具有复合(复合)主键/唯一键的模型(以及表)?
发布于 2010-02-16 13:22:33
Django不支持复合主键。您可以使用Meta.unique_together
创建单个复合唯一键。
发布于 2016-11-26 04:27:35
如果您只想将唯一的混合字段放在一起,请使用以下代码:
class MyTable(models.Model):
class Meta:
unique_together = (('key1', 'key2'),)
key1 = models.IntegerField()
key2 = models.IntegerField()
但是,如果您想要唯一在一起并且其中一个列是主要的,请为模型列设置primary
参数,类似于下面的代码:
class MyTable(models.Model):
class Meta:
unique_together = (('key1', 'key2'),)
key1 = models.IntegerField(primary_key=True)
key2 = models.IntegerField()
发布于 2012-04-13 18:52:49
组合键由多个属性组成,用于唯一标识实体匹配项。这与复合键的不同之处在于,构成键的一个或多个属性本身并不是简单的键。
例如,您有一个保存CD收藏的数据库。其中一个实体称为曲目,它在CD上保存曲目的详细信息。它有一个由CD名称、曲目编号组成的复合键。
https://stackoverflow.com/questions/2270808
复制相似问题