Thursday, July 5, 2012

Re: Acessing data on Model/Detail classes

On 5-7-2012 21:46, Fabiano Martins wrote:

> I'm novice on Django, and I have a problem that I can't resolve through
> documentation.
>
> I like to make a validation on Model.clear() of the master class method based on
> data of your detail classes, but it returns always a empty set.
>
> This example illustrates my problem:

> def clean(self):
> super(Master, self).clean()
> total = 0
> for product in self.product_set.all():
> total += product.value

At clean() time nothing has been saved, so the relationship isn't there
yet and you can't ask for it. There are a few ways to solve it in
decreasing order:
- Use a custom template and write some javascript that calculates the
master value on submit.
- Write a custom view and calculate the totals there.
- Wrap everything in a transaction, do the validation in the post_save
signal and roll back the transaction if the total is too low (not even
sure this /can/ be done).

Maybe others have more ideas.
--
Melvyn Sopacua


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

0 Comments:

Post a Comment

Subscribe to Post Comments [Atom]

<< Home


Real Estate