2013-07-08 3 views
1

django-nonrel을 사용하여 Google 애플리케이션 엔진에 django 프로젝트를 배포했습니다. 이제 "Pause"라는 정수 필드를 추가하여 "Good"이라는 모델의 스키마를 업데이트하려고합니다.django-nonrel을 사용하여 Google 애플리케이션 엔진에서 장고 모델에 필드를 추가하는 방법은 무엇입니까?

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 : (< 클래스 'google.appengine.ext.db.Model'>) 중 하나를 예상; "

db.put은 google.appengine.ext.db.Model 인스턴스 만 허용하는 것으로 보입니다. 장고 모델 인스턴스를 google.appengine.ext.db.Model 인스턴스로 변경하려면 어떻게해야합니까?

답변

0

GAE SDK 호출과 django 호출을 함께 사용하는 것은 어렵습니다.

다음 작업을 수행합니다.

query = Good.objects.all() 

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

작동합니다. 고마워. GAE 데이터 저장소를 직접 조작해야한다고 생각했습니다. – river6