首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Django多列主密钥和外键使用示例

Django多列主密钥和外键使用示例
EN

Stack Overflow用户
提问于 2020-05-13 17:29:27
回答 1查看 333关注 0票数 0

我试图在Django模型中实现表1将有5列,例如:

代码语言:javascript
复制
table1 : (column1, column2, column3, column4, column5)

在我想要column1的地方,column2充当复合主键,而不是Django的Id列。

代码语言:javascript
复制
table 2: (column6, column7, column8, column9, column10, column 11)

其中,column6column7是指表1中的column1column2主键的外键,也是表2中的复合主键。

如何在Django中实现这一点,以便作为管理用户,我可以向表1添加数据,也可以将数据添加到表2,其中表2的前两列column6,当我想将数据添加到E 125表2<代码>E 226时,column7是用column1 ( column2 data )自动生成的。

这在DJango中有可能吗?如果是,请提供具体的工作示例?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2020-05-13 17:41:09

主键的基本性质是它是唯一的,并在其上有索引。因此,尝试在unique_together类中使用index_togetherMeta选项。例如:

代码语言:javascript
复制
class Model1(models.Model):
    col1 = ....
    col2 = ....

    class Meta:
          unique_together = (('col1', 'col2'),)
          index_together = (('col1', 'col2'),)

这里是官方的医生。

如果要避免将默认的id列作为主键,

代码语言:javascript
复制
class Model1(models.Model):
    # `models.IntegerField` is just for example.
    col1 = models.IntegerField(primary_key=True)
    col2 = ....

    class Meta:
          unique_together = (('col1', 'col2'),)
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/61781061

复制
相关文章

相似问题

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