Dav*_*pez 0 django django-models
我在一个模型中有两个字段,我只想在管理表单中有一个有效字段.如果一个字段有效,则另一个字段无法插入数据,反之亦然.但是有必要将数据放在两个字段之一中进行保存.
那可能吗?
谢谢!
如果您希望在后端进行此验证,则可以clean在表单的方法中进行验证.这样的事情:
class MyAdminForm(forms.ModelForm):
def clean(self):
cd = self.cleaned_data
fields = [cd['field1'], cd['field2']]
if all(fields):
raise ValidationError('Please enter one or the other, not both')
if not any(fields): #Means both are left empty
raise ValidationError('Please enter either field1 or field2, but not both')
return cd
Run Code Online (Sandbox Code Playgroud)
如果您希望验证发生在前端,而不是表单提交,您可能需要考虑使用javascript解决方案.这是一个javascript解决方案的答案
| 归档时间: |
|
| 查看次数: |
195 次 |
| 最近记录: |