2012-04-28 26 views
1

我有兩個實體,Item和City。我如何建模一個一對多的關係,以便表示一個項目可以「擁有」許多城市?我想用ReferenceProperty來完成它,但它似乎是一個列表,並且沒有AFAIK鍵列表的屬性。你能告訴我應該如何建模以代表關係嗎?如何建模一對多?

在創建新的對象,可以讓像一個一對多的,如果你要創建一個擁有的ReferenceProperty是一家集新的對象:

class ItemLocation(db.Model): 
    reference = db.ReferenceProperty(Item, 
      collection_name='matched_cities', verbose_name='Cities') 

但是,這不正是我想要的。我想要一個方便的造型,我可以遍歷城市某個商品即

{% for city in item.matched_cities %}

你能告訴我,我應該怎麼辦呢?

謝謝

+1

這聽起來像是一個多到多關係到我,因爲你說,項目可以有幾個城市,但我想一個城市也可以有很多項目? – ch3ka 2012-04-28 11:21:51

回答

3

你可以絕對有一個鍵列表。添加到您的產品型號:

cities = db.ListProperty(db.Key) 

然後,你可以從數據存儲那些城市

itemsCities = ItemLocation.get(item.cities) 
相關問題