【问题标题】:Django models definition orderingDjango 模型定义排序
【发布时间】:2012-01-23 21:24:19
【问题描述】:

例如,我有 2 个模型:Model1Model2Model1 具有字段 ForeignKey(Model2)。 Model2 有一个方法,它返回 Model1 的所有实例,该实例将 Model2 的这个实例作为 ForeignKey。

但它不起作用,因为Model2是在Model1之后定义的,它对Model2一无所知。如何解决这个问题?

【问题讨论】:

标签: python django models


【解决方案1】:
class Model1(models.Model):
    model2 = models.ForeignKey('Model2')


class Model2(models.Model):
    """Another model"""

【讨论】:

    【解决方案2】:

    查看 django 文档。您可以使用字符串指定模型,以便稍后进行评估:https://docs.djangoproject.com/en/dev/ref/models/fields/#django.db.models.ForeignKey

    class Car(models.Model):
        manufacturer = models.ForeignKey('Manufacturer')
        # ...
    
    class Manufacturer(models.Model):
        # ...
    

    【讨论】:

      【解决方案3】:

      您真的需要返回具有该外键的所有 model1 实例的方法吗?您可以使用 model2 中的相关字段管理器来实现这一点。 Model2.field_in_model1_set.all() ?

      【讨论】:

        猜你喜欢
        • 2010-11-01
        • 1970-01-01
        • 1970-01-01
        • 2012-07-06
        • 1970-01-01
        • 2014-06-10
        • 2014-10-05
        • 2014-08-15
        • 2016-01-09
        相关资源
        最近更新 更多