Hi Florian, On 04/23/2011 08:18 AM, Florian Apolloner wrote: > Nice, something like that would be great. One of my bigger problems > regarding modelforms lately was that I wanted something like: "If you > don't fill out the user it's set to the current user", in the admin, > with as little modifications as possible. So save_model sounded like > the right spot but modelvalidation will make the form invalid (I want > the user field on the form…). Still no idea on how to solve that > properly and nicely; if the context managers can take care of that too > (though I doubt it since I can't change the is_valid call in the > admin) I am all in for it. Btw any threads around that subject I could > read?
http://groups.google.com/group/django-developers/msg/3014f29c5125653a is where it was briefly mentioned by Lukasz, I haven't seen any discussion since. As Joseph says later in that thread, two design constraints of model validation were to avoid double-validation and avoid storing metadata on the model about which validations have already been run. I think a context manager might be able to avoid that problem by storing data about which validations have been run temporarily on the context manager itself, rather than on the model. This might allow form-validation on the way in, full model validation on the way out. If there are problems with that, it might work to just do no validation on the way in and full model validation on the way out, though it'd be nicer if the code inside the context manager could rely on at least validation of the fields included in the form. In any case, if we have this, I could see switching the admin to use it, and perhaps adding an overridable method that's called from within the context manager, to allow you to complete/tweak the model instance before full validation is run. Seems like this would solve your problem? Carl -- You received this message because you are subscribed to the Google Groups "Django developers" group. To post to this group, send email to django-developers@googlegroups.com. To unsubscribe from this group, send email to django-developers+unsubscr...@googlegroups.com. For more options, visit this group at http://groups.google.com/group/django-developers?hl=en.