Are you trying to create a save function that evaluates all the
weights and returns an error if they are more than 1?

On Aug 10, 3:17 pm, lingrlongr <keith.ebe...@gmail.com> wrote:
> I 'm trying to create a form dynamically.  This works just fine, but
> there's no way for the form to offer any customized validation, by way
> of the clean() method.
>
> def get_dept_weight_form(store):
>     fields = {}
>     s = Store.objects.get(pk=store.id)
>     for d in store.department_set.all():
>         fields['id_%d' % d.id] = forms.DecimalField(
>             label = d.name,
>             initial = d.weight
>         )
>     return type('WeightForm', (forms.BaseForm,), {'base_fields':
> fields})
>
> Basically, this form spits out a label showing the department name and
> the weight for you to enter in a textbox.  The weights for all
> departments should total 1.0.  Should a clean() method handle this?
>
> I already use an overridden version of save() on the store model, but
> that just prints out a warning to stdout.  Also, I have this
> validation for the admin part by overriding the clean method for my
> declared ModelForm.
>
> Perhaps I should just use the functionality I already created in
> models.py and just raise a ValidationError?
>
> Thx

-- 
You received this message because you are subscribed to the Google Groups 
"Django users" group.
To post to this group, send email to django-us...@googlegroups.com.
To unsubscribe from this group, send email to 
django-users+unsubscr...@googlegroups.com.
For more options, visit this group at 
http://groups.google.com/group/django-users?hl=en.

Reply via email to