2010-04-11 18 views
3

簡單的問題 - 道歉,如果它是重複的,但我不能找到答案,如果是這樣。Django:獲取模板中的ForeignKey項的數量?

我有一個用戶模型和模型提交,就像這樣:

class Submission(models.Model): 
    uploaded_by = models.ForeignKey('User') 
class User(models.Model): 
    name = models.CharField(max_length=250) 

我如何可以顯示每個用戶在模板提交意見書的數量?我已經試過{{ user.submission.count }},像這樣:

for user in users: 
    {{ user.name }} ({{ user.submission.count }} submissions) 

,但沒有運氣...

回答

6

試試這個

{{user.submission_set.all|length}} 
+6

是的,你甚至可以{{user.submission_set.count}}。請務必閱讀Django的關係。對於理解模型非常重要。 http://docs.djangoproject.com/zh/dev/topics/db/models/#be-careful-with-related-name – 2010-04-11 19:02:59

+0

謝謝 - 謝謝@Casey的提示,我會的。 – AP257 2010-04-12 11:42:41

+0

謝謝 - 我已閱讀,但我有另一個快速問題。如果提交類有一個名爲'problem_submission'的布爾字段,有沒有辦法讓'problem_submission'字段未設置爲True的所有相關提交的計數? – AP257 2010-04-14 13:36:11

2

你忘了 「套」。它應該是{{ user.submission_set.count }}。您始終可以更改相關名稱,但默認值爲<fk class name>_set。欲瞭解更多信息,請參閱relations documentation