2010-09-29 3 views
3

J'ai essayé 3 approches différentes, et rien ne semble fonctionner. Voici mon avis:Comment définir une valeur par défaut sur un formulaire lorsqu'il est exclu?

def my_view(request): 
    if request.method == 'POST': 
     form = DealershipForm(request.POST) 
     if form.is_valid(): 
      dealership = form.save(commit=False) 
      dealership.entered_by = User(id=2) 
      dealership.save() 
      messages.success(request, 'Dealership added.') 
    else: 
     form = DealershipForm() 
    return response(request, template='misc/my_template.html', 
        vars={'form':form}) 

J'ai aussi essayé de modifier le cleaned_data juste après form.is_valid, j'ai essayé d'installer initial et instance, rien ne semble fonctionner!

Répondre

4
DealershipForm(request.POST, instance=Dealership(my_field="my_value")) 

Devrait fonctionner.

EDIT:

Votre code après modification:

def my_view(request): 
    if request.method == 'POST': 
     form = DealershipForm(request.POST, instance=Dealership(entred_by=User(id=2)) 
     if form.is_valid(): 
      form.save() 
      messages.success(request, 'Dealership added.') 
    else: 
     form = DealershipForm() 
    return response(request, template='misc/my_template.html', 
        vars={'form':form}) 

Modifier après votre commentaire:

def my_view(request): 
    if request.method == 'POST': 
     instance = Dealership() 
     instance.entered_by_id = 2 
     form = DealershipForm(request.POST, instance=instance) 
     if form.is_valid(): 
      form.save() 
      messages.success(request, 'Dealership added.') 
    else: 
     form = DealershipForm() 
    return response(request, template='misc/my_template.html', 
        vars={'form':form}) 
+0

Si je fais 'DealershipForm (request.POST, instance = concessionnaire (entry_by = User.objects.get (id = 2))) 'alors ça marche, mais alors je frappe la DB pour chercher l'objet utilisateur, non? Pourquoi devrais-je le faire quand je ne fais que sauvegarder la pièce d'identité? – mpen

+0

Et maintenant? –

+0

Ah ... oui, le truc '_id' le fait fonctionner. Merci beaucoup! – mpen

Questions connexes