Это продолжение на 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
должен захватить venue
, связанный с этим userEmail
.
Извините, если это сбивает с толку: я просто пытаюсь получить доступ к таблицам, связанным с userEmail
, с помощью ReferenceProperty
. Связанные таблицы: Venue
и Comment
. Как получить доступ к элементу в Venue
или в Comment
? Благодарю.
Спасибо за ваш ответ. Учитывая упомянутые выше проблемы производительности, я решил добавить свойство `lastVenue` к` User`, и теперь я показываю его как `result.latestVenue`. Но я также сохраняю его в разделе «Место проведения» как «ReferenceProperty» для последующего использования. Я предполагаю, что это лучше. В очередной раз благодарим за помощь. – Zeynel 2010-11-30 21:47:52