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 <[email protected]>
>
> On Jun 15, 3:20 pm, Genis Pujol Hamelink <[email protected]>
> 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 [email protected]
To unsubscribe from this group, send email to
[email protected]
For more options, visit this group at
http://groups.google.com/group/django-users?hl=en
-~----------~----~----~----~------~----~------~--~---