首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >使用Django的复合/复合主键/唯一键

使用Django的复合/复合主键/唯一键
EN

Stack Overflow用户
提问于 2010-02-16 13:11:46
回答 3查看 23.9K关注 0票数 33

如何使用Django创建具有复合(复合)主键/唯一键的模型(以及表)?

EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2010-02-16 13:22:33

Django不支持复合主键。您可以使用Meta.unique_together创建单个复合唯一键。

票数 38
EN

Stack Overflow用户

发布于 2016-11-26 04:27:35

如果您只想将唯一的混合字段放在一起,请使用以下代码:

代码语言:javascript
复制
class MyTable(models.Model):
    class Meta:
        unique_together = (('key1', 'key2'),)

    key1 = models.IntegerField()
    key2 = models.IntegerField()

但是,如果您想要唯一在一起并且其中一个列是主要的,请为模型列设置primary参数,类似于下面的代码:

代码语言:javascript
复制
class MyTable(models.Model):
    class Meta:
        unique_together = (('key1', 'key2'),)

    key1 = models.IntegerField(primary_key=True)
    key2 = models.IntegerField()
票数 13
EN

Stack Overflow用户

发布于 2012-04-13 18:52:49

组合键由多个属性组成,用于唯一标识实体匹配项。这与复合键的不同之处在于,构成键的一个或多个属性本身并不是简单的键。

例如,您有一个保存CD收藏的数据库。其中一个实体称为曲目,它在CD上保存曲目的详细信息。它有一个由CD名称、曲目编号组成的复合键。

票数 4
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/2270808

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档