Monday, October 29, 2012

Re: How to implement clean() for a model with ManyToMany fields?

Basically, you can't. M2m fields are saved after the model is saved, so you either get objects that are not yet ready for that check (as you experienced) or you will test the previous value of the m2m field, neither of which is what you want.

You can modify the admin interface and do the validation in the AdminForm, or perhaps catch the m2m_changed signal and do some checks there, but you can't do the validation you want in the clean method.

    mjl



--
You received this message because you are subscribed to the Google Groups "Django users" group.
To view this discussion on the web visit https://groups.google.com/d/msg/django-users/-/0WMJol1atOoJ.
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.

No comments:

Post a Comment