2017-02-22 5 views
1

現在、フォームの別のフィールドに依存するモデル選択フィールドを持つdjango CMSプラグインを開発中です。私は今、ajax経由で何をしているのですか?トリガーフィールドが選択されると、依存するモデル選択フィールドがajaxによって更新され、selectフィールドの選択肢が変更されます。しかし、フォームの送信時に、このエラーが発生しましたdjango cmsプラグインの動的モデル選択フィールド

"有効な選択肢を選択してください。これは、利用可能な選択肢の一つではありません。」

私は、スタックオーバーフローでいくつかの掘削を行なったし、上記のリンクに基づいて

While using ajax with django form, getting error "Select a valid choice. That is not one of the available choices."

同様の問題を発見し、私は形でモデル選択フィールドを更新する必要がありますプラグイン自体の値に依存します.POST

どうすればdjango CMSプラグインでこれをやりますか? cmsプラグインのどのメソッドを上書きする必要がありますか?私はプラグインのCMSPluginBaseクラスのメソッドを前提としていますが、どのメソッドをオーバーライドするのかわかりません。また、プラグインで使用されている現在のフォームを取得する方法もあります。

おかげ

答えて

1

いくつかの掘削後、私は、フォームの検証がされる方法ので

def is_valid(self): 
    self.fields["my_field"].queryset=Foo.objects.filter(bar=baz) 
    return super(MyForm, self).is_valid() 

のように、フォームのフィールドのIS_VALIDに設定されたクエリ()プロシージャをオーバーライドすることによってこれを行うことができましたフィールドは既にオーバーライドされています

関連する問題