這是my previous question的後續行動。如何使用ReferenceProperty訪問模型中的項目?
我設置的機型的ReferenceProperty:
class User(db.Model):
userEmail = db.StringProperty()
class Comment(db.Model):
user = db.ReferenceProperty(User, collection_name="comments")
comment = db.StringProperty(multiline=True)
class Venue(db.Model):
user = db.ReferenceProperty(User, collection_name="venues")
venue = db.StringProperty()
在數據存儲我有在用戶此項:
Entity Kind: User
Entity Key: ag1oZWxsby0xLXdvcmxkcgoLEgRVc2VyGBUM
ID: 21
userEmail: [email protected]
並下設地點:
Entity Kind: Venue
Entity Key: ag1oZWxsby0xLXdvcmxkcgsLEgVWZW51ZRhVDA
ID: 85
venue (string): 5 star venue
user (Key): ag1oZWxsby0xLXdvcmxkcgoLEgRVc2VyGBUM
User: id=21
我想在hw.py
這樣的項目中顯示
query = User.all()
results = query.fetch(10)
self.response.out.write("<html><body><ol>")
for result in results:
self.response.out.write("<li>")
self.response.out.write(result.userEmail)
self.response.out.write(result.venues)
self.response.out.write("</li>")
self.response.out.write("</ol></body></html>")
這條線的工作原理:
self.response.out.write(result.userEmail)
,但此行不工作:
self.response.out.write(result.venues)
但作爲per vonPetrushev's answerresult.venues
應該抓住這個userEmail
相關的venue
。
對不起,如果這是令人困惑:我只是試圖訪問連接到userEmail
與ReferenceProperty
表。鏈接表是Venue
和Comment
。如何訪問Venue
或Comment
中的項目?謝謝。
感謝您的回答。考慮到你提到的性能問題,我決定將`latestVenue`屬性添加到`User`,現在我將它顯示爲`result.latestVenue`。但是我也將它作爲`ReferenceProperty`保存在`Venue`下供以後使用。我認爲這樣更好。再次感謝你的幫助。 – Zeynel 2010-11-30 21:47:52