2009-09-03 13 views
1

私は何かしたいと思います。Djangoの管理者、インラインの入力フィールドの

私は4クラスあります:私は私の英語が悪い、これを言うどのように病気を知らない

class delivery(models.Model):   
     name= models.CharField(max_length=100) 
     date_join= models.DateField() 
     .... 

class Town(models.Model): 
     delivery_guy = models.ForeignKey(delivery) 
     name = models.CharField(max_length=100) 
     .... 

class message(models.Model): 
     title= models.CharField(max_length=100) 
     notes = models.CharField(max_length=200) 
     date= models.DateField() 
     .... 

class childs_of_message(models.Model): 
     message =models.ForeignKey(message) 
     delivery_guy = models.ForeignKey(delivery) 
     direction = models.ForeignKey(delivery) 
     people_name= models.CharField(max_length=100) 
     date= models.DateField() 
     .... 

を、町がdelivery_guyを持っている、メッセージが町を持っているとChilds_of_messageメッセージを持っていると配信を持っています。

"parent"のようなメッセージと "child - inlines-"のようなChilds_of_messageを表示するインラインモードでは、私のchilds_of_messageに、delivery_guysを選択してください。この配信はchilds_of_messageインラインモードでSELECT形式で選択した配信病気ショー)

または

どのように病気のメイクとModelChoiceField(クエリセット....)私のインラインフォームの管理者で?

感謝:)

+0

私は私の限られたダイオードGr11フランス語で他のマークを翻訳@ http://www.artfulcode.net/articles/runtime-choicefield-filtering-in-djangos-admin/ – Asinox

+0

試み...これは私の問題を修正します考えています:あなたの問題を[link]のページで見ています。私は問題があなたのためのソリューションであることを確認しています....(?????)please、(laissezを読んだり、何を送信したり、送信していますか? – mpen

+1

@マーク:「私はあなたの問題とartfulcode.netのページを読んだのですが、おそらくそれがあなたのための解決策であることに同意します。 – akaihola

答えて

0

ジャンゴでの管理インターフェイスは、私はあなたがmodelchoicefieldのクエリセットを変更することができることはよく分からない、信頼できるユーザーのみであることから。それは常に適用されるすべてのモデルオブジェクトを表示するつもりです。

あなたがしたいことは、djangoフォームで独自のインターフェイスを構築することです。フォームが初期化されたときのその他の情報に基づいて、フォームフィールドにinitialを使用できます。

+0

98%はあなたがクエリーセットを変更できることを確信しています。あなたは、管理フォームを作成して、代わりに完全に制御できるようにすることができます... – mpen