Well that sounds very logical. Thanks very much. I'll make the changes and give it a go.
Thanks again, Peter On Nov 5, 11:51 am, Daniel Roseman <[EMAIL PROTECTED]> wrote: > On Nov 5, 3:54 pm, Peter Bailey <[EMAIL PROTECTED]> wrote: > > > > > I want to create a form for a large object that has numerous non- > > mandatory fields. I am still learning django, and am missing something > > easy I hope. All the examples and docs I see say to redirect after the > > form is posted and saved to the db (in my case). What I want is to > > leave the form up after the initial post, and allow a user to say, add > > 3 more field entries and re-save, etc. This is to handle a use case of > > when they are working on some data entry, want to save a partially > > done page, and then either leave it up and continue at their leisure > > or also come back and choose the object again and fill some more of > > the info in (I guess those are really 2 use cases!). > > > This is a fairly common way of doing things in many of the business > > sites I have worked on, but I cannot find much discussion on it or > > documentation regarding it. Can anyone point me at some examples of > > this type of usage or suggest an alternative. I am starting to wonder > > if I am trying to bend the framework the wrong way, and maybe I need > > to rethink my design. > > > Thanks for any feedback or help. It will be greatly appreciated. This > > is an amazing framework but it is taking me a while to learn some of > > the ins and outs. Must be from all those years of MS web programming > > that have clouded my brain! > > > Cheers, > > > Peter > > There's nothing to say you shouldn't redirect back to the same page, > or a version of it. The point of the redirect is simply to remove the > possibility that the user would re-post the data if they pressed Back. > > Presumably, you have an 'add' page where the users create the original > data. Once that is submitted, you'll need a page they can go to edit > existing data. So, to use the same model as the built-in admin site, > you'd have /mymodel/add/ and /mymodel/x/, where x is the PK of the > existing instance. So all you want to do is, on save redirect to the > 'edit' screen. In your view: > if form.is_valid(): > obj = form.save() > return HttpResponseRedirect('/mymodel/%s/' % obj.pk) # or better, > use a URL reverse function > > You might want to do some checking of the POST first to see if they've > chosen a button that allows them to continue editing, rather than > quit. > > Now I've written this, I've realised this is *exactly* what the admin > site does with the 'Save and continue editing' button - you might want > to look in django.contrib.admin.views for some clues as to how this > works. > > -- > DR. --~--~---------~--~----~------------~-------~--~----~ 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 [EMAIL PROTECTED] For more options, visit this group at http://groups.google.com/group/django-users?hl=en -~----------~----~----~----~------~----~------~--~---