2011-01-31 5 views
0

私は実際にフォームインスタンスをモデル属性にして、テンプレートからフォームにアクセスできるようにしたいと思います。ImportError forms.pyをmodels.pyにインポートする

任意のフォームをmodels.pyにインポートしようとすると、models.pyのモデルを参照するforms.pyファイルの各インポートステートメントでImportErrorが発生します。私はこれが循環輸入によると仮定しています。

フォームをモデルにインポートするための情報が見つからないようです。これは可能ですか?もしそうなら、どうですか?

答えて

0

あなたがやっていることは右の音ではありませんが、あなたがそれをしたい場合は、あなたがそうのようなモデルのインスタンスメソッドでフォームのインポートを埋め込むことができます。答えを

class TestModel(model.Models): 
    def get_my_form(self): 
     from my_app.forms import MyForm 
     return MyForm() 
+0

おかげで、これはありますまさに私が探していたものです。基本的には、私のアプリはたくさんのアイテムを含むレポートを生成しているので、アイテムが特定の基準を満たしている場合、ユーザーはアイテムに異議を唱える必要があります。これは、以前に記入されたデータを使用して簡単にフォームを事前入力できるように、フォームをレポート項目に関連付けることが考えられる最も簡単な方法でした。私が考えることができる唯一の他の方法は、単純であまり柔軟でないように見えるマッピングをマッピングすることでした。思考? – freb

+0

これをビューで前処理したり、カスタムのtemplatetagを作成したりします。 – sdolan

+0

ありがとうございました! – freb

関連する問題