2011-12-19 13 views
7

たとえば、私は2モデル:モデル1モデル2があります。 モデル1には、フィールドForeignKey(モデル2)があります。 Model2はメソッドのモデル1のインスタンスを返します。このインスタンスは2モデル2をForeignKeyとして返します。Djangoモデル定義の注文

しかしモデル2MODEL1後に定義されており、それがモデル2について何も知らないので、それは、動作しません。この問題を解決するには?

+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()?

関連する問題