Sorry, after googling some more the glaringly simple solution revealed
itself

form=NoteForm(initial={'organisation': oid})

Shame I found that cookbook item in the first place - complete red
herring.

Paul

On Jun 27, 11:03 am, paultanner <p...@virtual-techno.com> wrote:
> Whilst I appreciate that hidden fields can be less than ideal in some
> cases I want to set default values in a form generated from a model.
>
> http://code.djangoproject.com/wiki/CookBookManipulatorWithHiddenFields
> gives some guidance but this approach appears to be deprecated in
> django 1.02 (and the refernced cookbook pages does not say so)
>
> What is the new way to do this pls?
>
> Thx.  Paul
>
> class Note(models.Model):
>   organisation = models.ForeignKey(Organisation)
>   contact = models.ForeignKey(Contact)
>   last_contact = models.DateTimeField()
>   notes = models.TextField(blank=True)
>   def __str__(self):
>     return '%s %s' %(self.last_contact,self.contact)
>
> class NoteForm (ModelForm):
>   class Meta:
>     model=Note
>
> ###### deprecated #######
> class NoteManipulator(Note.AddManipulator):
>   def __init__(self):
>     # Set everything up initially using the built in manipulator
>     Note.AddManipulator.__init__(self)
>     newFields = []
>     # replacing some fields with HiddenFields
>     for field in self.fields:
>       if field.field_name in ('user',):
>          field = formfields.HiddenField(field.field_name,
>            field.is_required,
>            field.validator_list)
>       newFields.append(field)
>     self.fields = newFields
>
> def note(request,id=''):
>   if request.method == "POST":
>   .. processing stuff here ..
>   else:
>     oid=request.GET.get('oid','')
>     if  id:
>       # prepare for update
>       inst=Note.objects.get(id=id)
>       form=NoteForm(instance=inst)
>       submit="Update"
>     else:
>      # prepare for insert
>       # default foreign key on new record
>       manipulator = noteManipulator()
>       dflt={'organisation=oid': oid}
>       errors={}
>       ### deprecated
>       form=NoteForm().FormWrapper(manipulator, dflt, errors)
>       submit="Insert"
>     return render_to_response('crm/note.html',{
>       'form': form,
>       'id': id,
>       'oid': oid,
>       'submit': submit,
>     })
--~--~---------~--~----~------------~-------~--~----~
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