2011-05-01 3 views
1

En utilisant django/appengine, comment puis-je présenter un formulaire qui permet l'entrée de certains champs de modèle, puis définir des champs de modèle supplémentaires dans le code. L'appel de form.save (commit = False) déclenche une exception car l'utilisateur n'est pas défini. Quelle est la bonne façon pour Django de gérer des cas comme celui-ci?Django: Création d'un formulaire qui ne définit pas tous les champs de modèle requis?

J'ai les classes de modèle et formulaire:

class FooModel(db.Model): 
    user = db.UserProperty(required=True) 
    date = db.DateProperty(required=True) 

class FooForm(djangoforms.ModelForm): 
    class Meta: 
     model = models.FooModel 
     exclude = ['user'] 

et le code de gestionnaire de requête suivante:

if request.method == 'POST': 
    form = forms.FooForm(request.POST) 
    # form.save() raises an exception because 'user' is not set 
    foo = form.save(commit=False) 
    foo.user = users.get_current_user() 
    foo.save() 

Répondre

1

Pour correspondre à la SDK example, vous pouvez omettre required=True de votre UserProperty.

+0

mais l'utilisateur est en fait requis. – anthony

Questions connexes