1

我使用 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: Expected one of (<class 'google.appengine.ext.db.Model'>,);”

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

4

1 回答 1

0

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

我会做以下事情。

query = Good.objects.all()

for p in query:
    p.pause = 0
    p.save()
于 2013-07-08T17:47:53.487 回答