yes, but what if it's a new object and not an existing one? How do I test this? The request method will be POST, so form will be form = MyForm(request.POST)... so if form.pk exists in the db how do I tell it's editing an existing object?
if request.method == 'POST': form = myform(request.POST) try: instance = myobj.objects.get(id=form.id) form = myform(request.POST, instance=instance) if form.is_valid(): form.save() else: whatever goes here except: form = myform(request.POST) if form.is_valid(): form.save() else: whatever goes here Something like this or do u know a better way? 2009/6/15 Daniel Roseman <dan...@roseman.org.uk> > > On Jun 15, 3:20 pm, Genis Pujol Hamelink <genis.pu...@gmail.com> > wrote: > > Hi list, > > > > I am trying to create a view to update objects in the db: > > > > http://dpaste.com/55546/ > > > > but when posting the data, form.is_valid() fails because the object > already > > exists in the db. Is there a way to validate a form using an existing > object > > and then save it? > > > > regards, > > > > -- > > Genís > > Yes, pass the instance as a parameter to the form instantiation. > form = MyForm(instance=instance) > -- > DR. > > > -- Genís --~--~---------~--~----~------------~-------~--~----~ 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+unsubscr...@googlegroups.com For more options, visit this group at http://groups.google.com/group/django-users?hl=en -~----------~----~----~----~------~----~------~--~---