3

この質問が以前のどこかにあったことをお詫びしますが、何も見つかりませんでした。

したがって、質問は本当に単純です。これらは、の動作を模倣するdjangoネイティブフォームフィールドrequest.POST.getlist('something')ですか?

私のUIでは、ユーザーは保存したいオブジェクトのリストを作成し、これらのオブジェクトは同じ名前の非表示の入力のリストとして表されます。

<input type="hidden" name="cc" value="1045">
<input type="hidden" name="cc" value="1055">
<input type="hidden" name="cc" value="1046">

request.POST.getlist必要なことを正確に実行しますが、リクエストを直接処理するのではなく、フォームを介して処理したいと思います。

4

1 に答える 1

7

コメントありがとうございます。はい、モデルのフィールドにModelChoiceField使用されていることがわかりました。ManyToManyフォーム側では、として表されMultipleChoiceField/TypedMultipleChoiceFieldます。

そこで、このフィールドをサブクラス化してオーバーライドすることにしましたvalidate methods

class NotValidatedMultipleChoiceFiled(forms.TypedMultipleChoiceField):
    """Field that do not validate if the field values are in self.choices"""

    def to_python(self, value):
        """Override checking method"""
        return map(self.coerce, value)

    def validate(self, value):
        """Nothing to do here"""
        pass
于 2012-04-19T14:54:22.467 に答える