2013-06-28 1 views
0

저는 GAE 및 Python의 초보자입니다. 일대 다 관계로 데이터를 삽입하는 방법을 이해하는 데 어려움을 겪고 있으며 내가하는 일에 대해 많이 알지 못합니다.데이터 저장소에 데이터 삽입 - App Engine - 1 대 다수

인벤토리 앱을 만들려고합니다. 기본적으로 제품을 하나의 범주 아래에 각각 삽입하려고했습니다.

내 데이터베이스 모델은 다음과 같습니다.

카테고리를 데이터 저장소에 삽입 할 수 있었지만 카테고리 당 제품이 문제가있는 곳입니다.

다음과 같은 양식이 있는데 올바른 방법인지 확실하지 않습니다. 숨겨진 입력에서도 키를 사용하여 삽입하고 있습니까?

<form action="/addproduct" method="post"> 
     <div><label>Product Name:</label><br /><input type="name" name="name" /></div> 
     <div><input type="hidden" name="ref_category" value="{{selected_category.key()}}" /></div> 
     <input type="submit" value="Add Candidate"> 
     </form> 

그런 다음 내 삽입 코드가 문제가 있습니다. 온라인으로 제공되는 자료를 이해하려고 노력하고 있지만 뇌 세포는 더 이상 처리 할 수 ​​없습니다.

def post(self): 
     product = Product() 
     product.name = self.request.get('name') 
     product.ref_category = self.request.get('ref_category') 
     product.put() 

솔루션 제공시기를 알려주기를 바랍니다.

+0

, 그때 NDB를 사용하여 시작하도록 건의 할 것입니다. – Sandeep

답변

1

self.request.get이 string 유형을 반환하기 때문에 문자열을 ReferenceProperty로 설정하려고합니다. 'ref_category'필드가 Product 인 경우 db.ReferenceProperty인데 db.Key 또는 Category 개체가 필요하지만 문자열로 설정하려고합니다.

당신은 다음과 같이 수행 할 수

새 프로젝트를 시작 또는 앱 엔진을 학습하는 경우
def post(self): 
    product = Product() 
    product.ref_category = db.get(self.request.get('ref_category')) 
    product.put() 
+0

실제 객체를 얻기 위해 데이터 저장소에 접근 할 필요가 없습니다. db.Key (...)는 정상적으로 작동합니다. –

+0

와우 그게 다야! Nijin과 Daniel에게 감사드립니다. – goryo

관련 문제