当前位置: 首页 > 面试题库 >

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

归星驰
2023-03-14
问题内容

我有一个像这样的模型:

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

我想迁移并同时托管这两个主机是主键。


问题答案:

我将以稍微不同的方式来实现。

我将使用默认的主键(自动字段),并使用meta class属性, unique_together

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

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

它将充当“代理”主键列。

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



 类似资料:
  • 问题内容: 我想要两个相同模型的外键: 我收到如下错误: 字段“ example1”的访问器与相关字段“ Example.test_set”冲突。在“ example1”的定义中添加一个related_name参数。 问题答案: 尝试使用:

  • 问题内容: 我在一个新的iOS Swift项目中使用Realm。我将Xcode 6.0.1与iOS SDK 8.0和Realm 0.85.0一起使用 我正在尝试使用新的Realm主键功能,以便可以进行操作。 这是一个示例模型: 以及我如何尝试添加/更新新对象: 我收到此错误: RLMExecption’,原因:“ Foo”没有主键,无法更新 这是主键上的文档。我可能没有正确设置它: http :

  • 我在一个新的iOS Swift项目中使用Realm。我使用Xcode 6.0.1和iOS SDK 8.0和Realm0.85.0 我正在尝试使用新的Realm主键特性,以便可以执行。 下面是一个示例模型: 以下是主键上的文档。我可能没有正确设置: <罢工> http://realm.io/docs/cocoa/0.85.0/api/classes/rlmobject.html#//api/name

  • 问题内容: 我有这个代码 我不一定总拥有三个书本价值。所以有时候,如果我不知道主题,位置或出版商。那我要让他们空着 但是如果有的话,我需要选择框进行选择。这样有可能吗 问题答案: 当然,只需为要保留为可选的每个字段添加即可

  • 这听起来很无聊,但我想知道我是否可以让主键在Laravel中作为外键工作,我对Laravel是新手。 因此,我有两个迁移“User”和“Student”,如下所示:User: 学生: 所以,我所想要的是,学生(uniqueId)中的主键也可以用作引用User表中的uniqueId列的外键。 提前谢谢。

  • 问题内容: 我正在尝试更新具有两个主键的Model。 模型 移民 这是应该更新库存模型的代码,但不是。 我收到此错误: 我也尝试使用updateOrCreate()方法。它不起作用(我得到同样的错误)。 谁能告诉我们应该如何更新带有两个主键的Model? 问题答案: 我已经遇到过几次这个问题。您需要覆盖一些属性: 和方法(功劳): 请记住,此代码需要引用Eloquent Builder类, 我建议