【问题标题】:Django Join on none Primary Key solutionDjango Join on none Primary Key 解决方案
【发布时间】:2014-11-10 11:15:01
【问题描述】:

这是我的模型:

class Rate(models.Model)
    place_external_id = models.IntegerField()
    ...

class Unavailability(models.Model)
    place_external_id = models.IntegerField()
    ...

place_external_id 来自另一个独立应用。

我想通过单个查询加入这 2 个模型。我知道在 Django 中加入非 ForeignKey 是不可能的。有没有办法以更“django 友好”的方式改变我的模型?还是我必须使用 RAW?

感谢您的帮助,

【问题讨论】:

  • ForeignKey 只是一个整数字段。为什么不能将这些字段声明为 FK?
  • 我想我会试试的。我不知道为什么我只是不考虑在这个应用程序中放入另一个 Place 模型(已经在另一个应用程序中)

标签: python django python-3.x django-models


【解决方案1】:

您希望它们成为 ForeignKey:

class Place(models.Model):
    #your fields

class Rate(models.Model):
    place = models.ForeignKey('Place')

class Unavailability(models.Model):
    place = models.ForeignKey('Place')

【讨论】:

  • 地方已经存在于另一个应用程序上,我想让每个应用程序独立。但是,当我想到它时,我可以只使用 external_id 字段创建一个 Place 并且它会起作用
猜你喜欢
  • 2015-06-07
  • 2013-05-27
  • 1970-01-01
  • 2018-12-01
  • 2022-01-24
  • 2017-09-02
  • 1970-01-01
  • 2010-12-27
  • 2011-07-22
相关资源
最近更新 更多