2012-04-28 9 views
1

私はItemとCityという2つのエンティティを持っています。アイテムが多くの都市を持つことができるように、1対多の関係のようにモデル化するにはどうすればよいですか?私はReferencePropertyでそれをやってみたいですが、それはリストになり、AFAIKキーのリストのためのプロパティがないようです。関係を表現するためにどのようにモデル化すべきか教えていただけますか?one-to-manyをモデル化するには?

新しいオブジェクトを作成するとき、あなたがコレクションであるreferencepropertyで新しいオブジェクト作成している場合は1対多のようなものを作ることが可能である:

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

をしかし、これは私が欲しいものを正確ではありません。私は与えられたアイテムすなわち

{% for city in item.matched_cities %}

のために都市を反復処理することができ、便利なモデリングをしたいあなたは、私がこれを行うべきかを教えてもらえますか?

あなたは

+1

でデータストアからこれらの都市を取得することができ、あなたが言ったので、そのアイテムはいくつかの都市を持つことができますが、都市には多くのアイテムがあると思いますか? – ch3ka

答えて

3

あなたは絶対にキーのリストを持つことができますありがとうございます。あなたのアイテムのモデルにこれを追加します。

cities = db.ListProperty(db.Key) 

その後、あなたはこれが私には多対多の関係のように聞こえるん

itemsCities = ItemLocation.get(item.cities) 
関連する問題