0

J'utilise google appengine et Django. J'utilise le module de djangoforms et je voulais spécifier l'instance du formulaire avec les informations provenant de la requête ci-dessous.Sortie de requête de datastore pour l'instance de formulaire Django

userquery = db.GqlQuery("SELECT * FROM User WHERE googleaccount = :1", users.get_current_user()) 

    form = forms.AccountForm(data=request.POST or None,instance=?????) 

J'ai trouvé un extrait dans un exemple d'application qui fait ce truc, mais je ne peux pas le modifier pour travailler avec la requête que j'ai besoin.

gift = User.get(db.Key.from_path(User.kind(), int(gift_id))) 
    if gift is None: 
     return http.HttpResponseNotFound('No gift exists with that key (%r)' % 
            gift_id) 
    form = RegisterForm(data=request.POST or None, instance=gift) 

Quelqu'un peut-il m'aider?

Répondre

2

Si vous connaissez le userquery va avoir qu'un seul objet User dans (ou si vous ne vous préoccupez le premier s'il y a des doublons), vous pouvez modifier votre code comme ceci:

userquery = db.GqlQuery("SELECT * FROM User WHERE googleaccount = :1", users.get_current_user()) 
user = userquery.get() # Gets the first User instance from the query, or None 
form = forms.AccountForm(data=request.POST or None, instance=user)