2013-07-08 1 views
1

J'ai déployé un projet django sur le moteur de l'application Google en utilisant django-nonrel. Maintenant, je veux mettre à jour le schéma d'un modèle nommé "Good" en ajoutant un champ entier nommé "Pause". Pour ma compréhension, cela devrait être fait en mettant à jour chaque instance existante manuellement. Après avoir cherché, j'ai écrit le morceau de code ci-dessous.Comment ajouter un champ à un modèle django sur le moteur de l'application Google en utilisant django-nonrel?

from goods.models import Good 
from google.appengine.ext import db 

def UpdateSchema(): 
    query = list(Good.objects.all()) 

    to_put = [] 
    for p in query: 
     p.pause = 0 
     to_put.append(p) 

    if to_put: 
     db.put(to_put) 

Et l'erreur renvoyée est: " BadArgumentError: attendu l'un des (< classe 'google.appengine.ext.db.Model' >,); "

Il semble que db.put n'accepte que l'instance google.appengine.ext.db.Model. Comment puis-je changer une instance de modèle django en une instance google.appengine.ext.db.Model?

Répondre

0

Le mélange d'appels GAE SDK et d'appels django est douloureux.

Je ferais ce qui suit.

query = Good.objects.all() 

for p in query: 
    p.pause = 0 
    p.save() 
+0

Cela fonctionne. Merci beaucoup. Je pensais que je devais manipuler directement le magasin de données GAE. – river6

Questions connexes