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

Popular posts from this blog

Add email recipient to all new Trac tickets -

400 Bad Request on Apache/PHP AddHandler wrapper -

php - Change action and image src url's with jQuery -