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 に答える