Django ChoiceField"验证给定值是否存在于选择列表中."
我想要一个ChoiceField(所以我可以在视图中输入选项)但我不希望Django检查选择是否在选项列表中.解释原因很复杂但这就是我的需要.这将如何实现?
jpr*_*itt 21
您可以创建自定义ChoiceField和覆盖以跳过验证:
class ChoiceFieldNoValidation(ChoiceField):
def validate(self, value):
pass
Run Code Online (Sandbox Code Playgroud)
我想知道你的用例,因为我真的想不出你为什么需要这个.
编辑:测试,制作表格:
class TestForm(forms.Form):
choice = ChoiceFieldNoValidation(choices=[('one', 'One'), ('two', 'Two')])
Run Code Online (Sandbox Code Playgroud)
提供"无效"数据,并查看表单是否仍然有效:
form = TestForm({'choice': 'not-a-valid-choice'})
form.is_valid() # True
Run Code Online (Sandbox Code Playgroud)
rad*_*tek 16
从外观来看,最好的方法是创建一个forms.Charfield并使用一个forms.Select小部件.这是一个例子:
from django import forms
class PurchaserChoiceForm(forms.ModelForm):
floor = forms.CharField(required=False, widget=forms.Select(choices=[]))
class Meta:
model = PurchaserChoice
fields = ['model', ]
Run Code Online (Sandbox Code Playgroud)
出于某种原因,单独覆盖验证器对我来说并没有成功.
| 归档时间: |
|
| 查看次数: |
8718 次 |
| 最近记录: |