【问题标题】:How to add a field to a django model on Google app engine using django-nonrel?如何使用 django-nonrel 在 Google 应用引擎上的 django 模型中添加字段?
【发布时间】:2013-07-08 15:14:59
【问题描述】:

我使用 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:应为 (,);”

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

【问题讨论】:

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


    【解决方案1】:

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

    我会做以下事情。

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

    【讨论】:

    • 它有效。非常感谢。我以为我必须直接操作 GAE 数据存储。
    猜你喜欢
    • 2011-07-06
    • 1970-01-01
    • 2012-03-15
    • 1970-01-01
    • 2013-08-01
    • 1970-01-01
    • 2011-12-28
    • 1970-01-01
    • 2011-10-31
    相关资源
    最近更新 更多