Django模型定义排序

时间:2011-12-19 19:41:27

标签: python django models

例如,我有2个模型: Model1 Model2 Model1 具有字段ForeignKey( Model2 )。 Model2有方法,它返回 Model1 的所有实例,其中 Model2 的实例为ForeignKey。

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

3 个答案:

答案 0 :(得分:12)

看看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):
    # ...

答案 1 :(得分:2)

class Model1(models.Model):
    model2 = models.ForeignKey('Model2')


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

答案 2 :(得分:1)

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