【问题标题】:Django foreign keys between abstract models抽象模型之间的Django外键
【发布时间】:2016-04-19 22:35:21
【问题描述】:

我的 django 项目有多个具有相同模型结构的应用程序。 为了避免模型文件的复制粘贴,我编写了一个 generic_models 文件,其中包含该结构中的抽象模型,并且每个应用程序都有从通用模型继承的模型。

其中两个表之间有外键。 我本来希望将外键定义为抽象模型中的字段。 问题是外键不能指向抽象表。

我怎样才能实现这种结构?

【问题讨论】:

标签: python django django-models


【解决方案1】:

不确定这是否可行,但至少您可以尝试。 在 ForeignKey 定义中使用相关模型名称作为字符串而不是相关模型对象,即

f_key = models.ForeignKey('your_app.Your_model')

而不是

f_key = models.ForeignKey(your_app.Your_model)

,甚至可以尝试使用'self'。不确定这是否实现,但它是有道理的。

另见:

https://docs.djangoproject.com/en/1.9/ref/models/fields/#lazy-relationships

https://docs.djangoproject.com/en/1.9/topics/db/models/#be-careful-with-related-name

【讨论】:

    猜你喜欢
    • 2011-11-23
    • 2016-06-24
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-07-09
    • 1970-01-01
    • 2018-07-01
    • 2013-01-17
    相关资源
    最近更新 更多