필터링 하위 쿼리에 계산하기, 그때 부모 객체의 모든 자식 개체를 나열하는 방법을 각 자식 개체를위한 필터링 수를 가지고 그들? 나는 상위 모델과 하위 모델을 사용하는 경우에는 템플릿
는 예를 제공하기 위해, 우리는이 모델이 가정class Category(models.Model):
...
class SubCategory(models.Model):
category = models.ForeignKey(Category)
....
class Tag(models.Model):
....
class Article(models.Model)
sub_category = models.ForeignKey(SubCategory)
tag = models.ForeignKey(Tag)
그런 다음 우리는 그 범주에 대한 모든 SubCatoegories가 나열되는 카테고리, 대한 DetailView 있습니다. 이 목록에서 우리는 각 하위 범주 항목에 숫자가 포함되도록합니다. 포함 된 기사 수는
이고은 특정 태그입니다 (즉, 해당 하위 범주의
모두에 해당하지 않습니다. 빌드하는 것이 더 사소한 경우). 이런 식으로 뭔가 :
{% for sub_category in category.sub_category_set.all %}
{{ sub_category.name }} -- {{ sub_category.articles_set.filter(tag='xyz').all|length }}
나는 이것이 결국 어떤 방법으로 views.py 및/또는 models.py에서 수행되어야한다 같아요. 나는 이것이 의미하는 바를 분명히하기 위해 이렇게 썼다. 그래서, 어떻게 이런 식으로 할 수 있습니까?
두 질문 : 1.있다 sub_category 기사로 FK? 2. sub_category.articles_set.filter (tag = 'xyz')의 문제점 (count()? – zymud
1. 아니오, 기사 만 sub_category합니다. 2. 템플릿에서 필터링을 수행 할 수 있다고 생각하지 않습니다. –