Django表单 - 保存选项不在下拉列表中

时间:2015-05-18 13:23:12

标签: python django forms django-crispy-forms

我在Django表单中有一个相互依赖的下拉列表。我将第二个下拉列表留空,因为我使用jQuery来填充选项。

forms.py

self.fields['product'].queryset = Product.objects.none()

流速:

  1. 在第一个下拉菜单中,我选择product_type
  2. jQuery使用产品选项填充第二个下拉列表
  3. 我从第二个下拉列表中选择了一个产品
  4. 保存
  5. 当我保存表单时,我收到错误,因为在表单最初加载时,下拉列表中没有选中的选项。

    如何在此下拉列表中禁用表单验证,以便我可以保存表单加载时不可用的选项?

    根据要求,forms.py

    class OrderLineForm(forms.ModelForm):
    
        def __init__(self, *args, **kwargs):
            super(OrderLineForm, self).__init__(*args, **kwargs)
            self.helper = FormHelper(self)
            self.helper.form_tag = False
            self.helper.form_show_labels = False
            self.helper.form_show_errors = True
            self.helper.error_text_inline = False
            self.fields['product'].queryset = self.fields['product'].queryset.filter(product_type_id=self.instance.product_type_id)
            self.helper.layout = Layout(removed - not relevant)
        class Meta:
            model = OrderLine
            fields = "__all__" 
    

0 个答案:

没有答案