When I came across the same issue (model default values not being selected), I simply stopped using form_for_model for new forms and instead created an instance of my model in memory then used form_for_instance... for eg:
p = Post() PostForm = form_for_instance(p) That way the default values for the model are set when the new object is created. Hope that's relevant to your situation... not 100% sure. On Jul 25, 6:19 am, Patrick <[EMAIL PROTECTED]> wrote: > On Tue, 24 Jul 2007 11:51:36 -0700, Doug B wrote: > > I don't know how others have approached it, but I have a 'settings' file > > with defaults defined in one place and reference those values via > > imports in the form file and model file. For values specific for the > > app, I stick them in the models file. > > > models.py > > --------- > > POST_DEFAULTS = {'status':'published'} > > > class Post(models.Model): > > status = models.CharField( > > maxlength = 15, > > choices = PUBLICATION_STATUS, > > default = POST_DEFAULTS['status']) > > > forms.py > > --------- > > from app.models import POST_DEFAULTS,PUBLICATION_STATUS > > > class PostForm(forms.Form): > > status = > > forms.CharField(forms.CharField(widget=forms.Select > > (choices=PUBLICATION_STATUS, > > > initial = POST_DEFAULTS['status']) > > > ---or--- if you are doing form_for_* (I don't use those, but this should > > be close) > > > views.py > > --------- > > PostForm = form_for_model(Post) > > PostForm.base_fields['status'].initial = POST_DEFAULTS['status'] form = > > PostForm() > > > If you use the helpers, the important thing to remember is to modify the > > base_fields dict before instantiating the form. Yet another option, is > > to create a callback function passed to form_for_model. The callback > > function basically gets called for every field in the model and you have > > the choice of making changes for each field. That method always felt > > cumbersome compared to just changing the values you need changed, so I > > can't do it off the top of my head. A search for formfield callback > > should tell you how though. > > Thanks for this tip, Doug. It works. > > I somehow missed it in the docs. --~--~---------~--~----~------------~-------~--~----~ 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 -~----------~----~----~----~------~----~------~--~---