Override data validation on one django form element -
i have select list dropdown box on form populated data model (directors). value of dropdown doesn't need saved; used dynamically trigger element of form (a dropdown titled films). when user chooses director, dynamically populates second list films attached director.
the first element of first list "all directors." instead of filtering film list, lets films shown on second list because directors chosen.
if user chooses specific director , film, form submits correctly. problem if user chooses directors, , selects film, when form submitted, tells me choice directors not valid because not 1 of available choices. in instance, available choice (i assume) 1 of existing director.objects in database. because don't care director, don't need entry valid. need film valid.
i'm using modelform. how can disable or override data validation on director form field ignores error that field generates?
the easiest approach define own method validating form, this:
class myform(forms.modelform): class meta: model = whatevermodel def clean(self): super(myform, self).clean() #if necessary if self.cleaned_data.get('film') , 'director' in self._errors: del self._errors['director'] return self.cleaned_data see http://docs.djangoproject.com/en/dev/ref/forms/validation/#cleaning-and-validating-fields-that-depend-on-each-other more extensive explanation , http://docs.djangoproject.com/en/dev/topics/forms/modelforms/#overriding-the-clean-method how applies modelforms.
Comments
Post a Comment