2011-12-19 2 views
7

Например, у меня есть 2 модели: Model1 и Model2. Модель1 имеет поле ForeignKey (Model2). Model2 имеет метод, который возвращает все экземпляры Model1, у которого есть этот экземпляр Model2 как ForeignKey.Порядок определения моделей Django

Но это не работает, потому что Model2 определяется после Model1 и ничего не знает о Model2. Как решить эту проблему?

+1

[Возможный дубликат] (http://stackoverflow.com/q/5308895/183066). Что вам нужно сделать, это использовать строки в соответствии с [этим ответом] (http://stackoverflow.com/a/5309027/183066). – jcollado

ответ

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


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

ли вам действительно нужно, что метод, который возвращает все экземпляры MODEL1, которые имеют этот внешний ключ? Для этого вы можете использовать связанный менеджер полей из model2. Model2.field_in_model1_set.all()?

Смежные вопросы