python - 如何在Django中的表单验证中排除某些字段

标签 python django

表格示例:

class PayOrderedItemForm(forms.ModelForm):

    value_label = forms.CharField(widget = forms.HiddenInput())
    product_id = forms.ModelChoiceField(
                        queryset = Product.objects.all(),
                        widget = forms.HiddenInput())
    balance = forms.CharField(widget = forms.HiddenInput())
    class Meta:
        model = PayOrderedItem
        exclude = ('payorder_id', 'balance', 'value_label',)

POST 示例:

def PayOrderView (request, order_id):
...

    if request.method == "POST":
        poForm = PayOrderForm(request.POST)
        ##poItem = PayOrderedItemFormset(request.POST, request.FILES)
        formset = inlineformset_factory(
                        PayOrder,
                        PayOrderedItem,
                        form = PayOrderedItemForm,
                        can_delete=False)
        poItem = formset(request.POST, request.FILES)

        if poItem.is_valid() and poForm.is_valid() :
            poForm.save()
            print "poItem >> ", poItem
            poItem.save()
        else :
            print "invalid poItem", poItem.errors


        return HttpResponseRedirect(reverse('orderdetail', args=(order_id)))
    else :
        ## GET process

我想从 PayOrderedItemForm 中排除字段 value_label 和余额,它在验证 poItem (poItem.is_valid) 时总是会失败

以下错误是: 1.余额:该字段为必填项。 2. value_label:该字段为必填字段。

请帮助我找到正确的解决方案,如何在验证中排除余额和 value_label。

最佳答案

您可以使用required=False来指示某个字段不是必填字段。例如:

field = forms.CharField(required=False)

关于python - 如何在Django中的表单验证中排除某些字段,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19667822/

相关文章:

python - 如何将具有动态维度的张量的每个 2D 元素乘以静态 2D 掩码?

python - Pygame:改变游戏分辨率

python - 如何使用 iterrows 或 itertuples 有效地迭代以从旧数据帧创建新数据帧

python - Django:没有名为应用程序的模块

python - Django 2 + PostgreSQL FullText 搜索不匹配它应该的

python - django - 模型 unicode() 显示外键对象属性

python - sqlalchemy:无需密码即可连接到 MySQL

python gensim : indices array has non-integer dtype (float64)

python - Django 重定向无法解析 URL

python - 使用changelist_view在django admin中重定向