Thanks for all your help it's much appreciated. I will work with both
methods and see if i can get them to work!

Thanks again

On Feb 11, 12:13 pm, Daniel Roseman <roseman.dan...@googlemail.com>
wrote:
> On Feb 11, 4:11 pm, gbd <ganit.bar...@gmail.com> wrote:
>
>
>
> > Another point (sorry I should have said this in my original post)
>
> > My form is bound
> > i.e. in my view
> > form = RecipeForm(request.POST)
> > I don't believe that I can use initial in this case?
>
> > please let me know if I've misunderstood
>
> > thanks again!
>
> > On Feb 11, 11:06 am, gbd <ganit.bar...@gmail.com> wrote:
>
> > > Thanks!
>
> > > A follow up question -
>
> > > Would i exclude that field in my class description?
> > > i.e.
>
> > > class RecipeForm(forms.ModelForm):
> > >         class Meta:
> > >                 model = Recipes
> > >                 exclude = ('user',)
>
> The standard Django idiom for a form view is like this:
>
> if request.method='POST':
>     form = MyForm(request.POST)
>     if form.is_valid():
>         form.save()
>         return HttpResponseRedirect('whatever')
> else:
>     form = MyForm(initial=initial_data)
> return render_to_response(template, {'form':form})
>
> So the form is only bound the second time through, when you return
> with a POST. The first time through, when you initially render the
> form for the user to fill in, you don't have a POST, and the form
> isn't bound. It's there - the second-to-last line in my example - that
> you should pass the initial dictionary.
>
> And in response to your other question, no you shouldn't exclude that
> from the form, or this method won't work.
>
> There is an alternative method, though. If you don't want the user
> field to appear at all, exclude the field, don't bother with initial,
> and set the user on save. So in line 4 above, you would do this:
>         instance = form.save(commit=False)
>         instance.user = request.user
>         instance.save()
>
> --
> 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 
django-users+unsubscr...@googlegroups.com
For more options, visit this group at 
http://groups.google.com/group/django-users?hl=en
-~----------~----~----~----~------~----~------~--~---

Reply via email to