当前位置:  开发笔记 > 编程语言 > 正文

如何在django中为我的模型设置两个字段主键

如何解决《如何在django中为我的模型设置两个字段主键》经验,为你挑选了2个好方法。

我有这样的模型:

class Hop(models.Model):
    migration = models.ForeignKey('Migration')
    host = models.ForeignKey(User, related_name='host_set')

我想迁移和托管两者是主键.



1> karthikr..:

我会稍微改变一下.

我会使用默认主键(自动字段),并使用元类属性, unique_together

class Hop(models.Model):
    migration = models.ForeignKey('Migration')
    host = models.ForeignKey(User, related_name='host_set')

    class Meta:
        unique_together = (("migration", "host"),)

它将充当"代理"主键列.

如果您确实想要创建多列主键,请查看此应用程序


如果你没有指定`AutoField`,django会为你添加一个.所以简而言之,你不要.
这与Django 2在2018年仍然是最新的吗?

2> Hùng Ng Vi..:

目前,Django模型仅支持单列主键.如果您没有特定primary_key = True于模型中的字段,Django将自动创建一个列id作为主键.

unique_together类中的属性Meta仅是数据的约束.

推荐阅读
女女的家_747
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有