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 回答