2014-10-27 87 views
0

我試圖插入一個類別對象,但我喜歡使用商店ID將類別鏈接到商店。該ID是由endpoints-proto-datastore。我怎樣才能做到這一點?通過ID插入相關對象,使用端點 - 原型數據存儲

實際上,要保存類別,API需要類別名稱和存儲密鑰。

這是我的API方法:

@Category.method(user_required=True, 
       request_fields=('name'), 
       path='{store}/categories', 
       http_method='POST', 
       name='categories.insert') 
def insertCategory(self, category): 
    """ 
    Insert a category in a existing store. 
    """ 
    category.put() 
    return category 

這是我的分類模型:

class Category(EndpointsModel): 
    _message_fields_schema = ('id', 'name', 'store') 
    name = ndb.StringProperty(required=True) 
    store = ndb.KeyProperty(Store) 

,這是我的商店模式:

class Store(EndpointsModel): 
    _message_fields_schema = ('id', 'name') 
    name = ndb.StringProperty(required=True) 

回答

0

假設你已經有一個存儲您希望包含在您的類別實體中的實體,請確保使用存儲密鑰實體而不是該ID。您可以在數據存儲查看器(舊版本)中找到關鍵實體。

如果像這樣添加entityKey默認屬性,您可以在實體的查詢中獲得密鑰。

class Store(EndpointsModel): 
    _message_fields_schema = ('id', 'entityKey', 'name') 
    name = ndb.StringProperty(required=True) 
相關問題