models.py Region and Survey에는 두 개의 클래스가 있습니다. 설문 조사는 region_select=model.ForeignKey(region)
이고 다른 속성 및 지역은 name=models.CharField
입니다. 장고 일반보기를 사용하여 항목/지역 목록을 만들고 그 항목의 필터링 된 번호를 갖고 싶습니다.django 템플릿 필터 : 개체 계산
<..>
<ul>
{% for Region in regions_list %}
<p><b>{{ Region }}</b> <i>(count: {{ ??? }})</i><br>
{% for Survey in object_list %}
{% if Survey.region_select = Region %}
<a href="{% url region-display Region.id %}">{{ Survey }}</a>
{% endif %}
</p>
{% endfor %}
{% endfor %}
</ul>
<..>
region_list 객체 목록 i가 각 지역에 대해 개별적으로 해당 항목을 계산하려는 불구하고 (Survey.objects.all()
) 지금까지 내가 완전한 목록을 얻을 수와 같은 Region.objects.all()
의 검색어 세트는 다음과 같은 내 템플릿 보인다. 나는 object_list.filter(region_select=Region).count
을 시도했지만 필터에 무엇이든 쓰는 것은 템플릿 오류로 끝내서 내가 필터로주는 것을 분석 할 수 없다는 것을 말합니다. ???
장소에 어떤 제안이 있습니까? 사용자 정의 {{name | filter}} 필터는 어떻습니까? 다시 나는 단지 개체를 계산할 필요가 ... 아, 나는 또한 같은 Survey.objects.filter(region_select=Region).count
와 함께 메서드를 추가하려고했지만 그 장소와 그 개체 (?!?) 유형을 작성 결국.
P. 복사/붙여 넣기가 아니기 때문에 다시 쓰는 동안 간단한 실수가 발생할 수 있습니다.
, 내가 objectName_set 부분을 말은,이 문서에 _set 본 적이 있지만이 작업을 자동으로 만들 것입니다. – JackLeo
설문 조사 모델에서'region_select = model.ForeignKey (Region)'을 정의하면 django는 자동으로 Region 모델에'survey_set'을 추가합니다. 'region.survey_set'는'Survey.objects.filter (region_select = region)'와 같습니다. 물론 사용자 정의 태그를 사용하여 비슷한 기능을 수행 할 수 있지만 model_set 방법은 더 장고합니다. 그리고 btw, 템플릿은 템플릿을 표시하는 데 사용되며 비즈니스 로직이 없어야하므로 템플릿에서 직접 필터를 사용할 수 없습니다. – adieu
예 이름을'related_name' 인수로 겹쳐 쓰지 않는 한 역 관계는 자동으로 작성됩니다. –