0
我已經完成了一個概念證明django項目,現在想要重新設計模型以使其更健壯。django:有多個外鍵查詢的模型
的基本模型被稱爲PhraseRequest
:
class PhraseRequest(models.Model):
user = models.ForeignKey(User)
timestamp = models.DateTimeField()
phrase = models.TextField()
現在併發症進來一個PhraseRequest
有一堆關聯模型,PhraseRequestVote
,Phrase
(應答),PhraseRequestComment
&的C。
現在,當我列出排名前十的短語請求時,我的模板有一個for-each循環,它提供了十個PhraseRequest對象。然後用請求填充HTML,並將所有相關數據填充到HTML中。
到目前爲止,我已經加入到每PhraseRequest
的字典來實現這一目標:
for r in phrase_requests:
r.votes = PhraseRequestVote.objects.filter(request=r)
r.n_votes = sum([v.weight for v in r.votes])
r.comments = PhraseRequestComment.objects.filter(request=r)
#and so on
直觀地看,這似乎並不正確 - 必須有一個‘正確’的方式來做到這一點。我是否需要重新設計模型?查詢?
啊,是的!我甚至可以把這個財產權利?通過重寫'getattr' – jsj 2013-02-10 07:54:40
是,祝你好運,並有你的實驗 – catherine 2013-02-10 08:00:13