例如,我有2个模型: Model1 和 Model2 。 Model1 具有字段ForeignKey( Model2 )。 Model2有方法,它返回 Model1 的所有实例,其中 Model2 的实例为ForeignKey。
但它不起作用,因为 Model2 是在 Model1 之后定义的,它对 Model2 一无所知。如何解决这个问题?
答案 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()?