如何使用django-nonrel在Google应用引擎上的django模型中添加字段?

时间:2013-07-08 15:15:00

标签: django google-app-engine django-models django-nonrel

我使用django-nonrel在Google应用引擎上部署了一个django项目。现在,我想通过添加名为“Pause”的整数字段来更新名为“Good”的模型的模式。

class Good(models.Model):
    pause = models.PositiveIntegerField(default=0)

据我了解,这应该通过手动更新每个现有实例来完成。搜索完成后,我在下面编写了这段代码。

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)

返回的错误是: “BadArgumentError:预期的一个(< class'google.appengine.ext.db.Model'>,);”

似乎db.put只接受google.appengine.ext.db.Model实例。如何将django模型实例更改为google.appengine.ext.db.Model实例?

1 个答案:

答案 0 :(得分:0)

混合GAE SDK调用和django调用很痛苦。

我会做以下事情。

query = Good.objects.all()

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