2010-04-11 7 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}}도 할 수 있습니다. 장고 관계를 반드시 읽어주십시오. 그들은 모델을 잘 이해하는 데 매우 중요합니다. http://docs.djangoproject.com/en/dev/topics/db/models/#be-careful-with-related-name –

+0

감사합니다. 팁에 대해 @Casey에게 감사드립니다. – AP257

+0

감사합니다. 읽었지만 또 다른 빠른 질문이 있습니다. Submission 클래스에 'problem_submission'이라는 부울 필드가있는 경우 'problem_submission'필드가 True로 설정되지 않은 모든 관련 제출 수를 계산하는 방법이 있습니까? – AP257

2

을보십시오. {{ user.submission_set.count }}이어야합니다. 관련 이름은 언제든지 변경할 수 있지만 기본값은 <fk class name>_set입니다. 자세한 내용은 relations documentation을 참조하십시오.

관련 문제