0
카테고리별로 그룹화 된 재료 목록을 표시하려고합니다. 범주 ID 목록을 표시 할 때까지 가져 왔지만 이걸로 앞으로 나아갈 수는 없습니다. 여기 내 설정, 어떤 도움을 많이 주시면 감사하겠습니다.외래 키를 사용하여 django 템플릿을 재편성하는 방법
# models.py
class IngredienceCategory(models.Model):
name = models.CharField(max_length=30)
def __unicode__(self):
return self.name
class Ingredience(models.Model):
name = models.CharField(max_length=30)
category = models.ForeignKey(IngredienceCategory, null=True, blank=True)
def __unicode__(self):
return self.name
# views.py
def home(request):
ingredients = Ingredience.objects.all()
ingrcat = IngredienceCategory.objects.all()
return render_to_response('home.html', {'ingredients': ingredients, 'ingrcat': ingrcat,})
# home.html template
<h2>List of items by category:</h2>
{% regroup ingredients|dictsort:"category_id" by category_id as ingr_by_cats %}
{% for category in ingr_by_cats %}
<p>{{ category.grouper }}</p>
<ul>
{% for item in ingrcat.list %}
<li><a href="#" id="{{ item.id }}">{{ item.name }}</a></li>
{% endfor %}
</ul>
{% endfor %}
내가 현재 받고 있어요 :
내가 달성하기 위해 노력하고있어<h2>List of items by category:</h2>
<p>1</p>
<ul></ul>
<p>2</p>
<ul></ul>
<p>3</p>
<ul></ul>
:
<h2>List of items by category:</h2>
<p>Category A</p>
<ul>
<li>Item 1</li>
<li>Item 2</li>
<li>Item 3</li>
</ul>
<p>Category B/p>
<ul>
<li>Item 4</li>
<li>Item 5</li>
<li>Item 6</li>
</ul>
<p>Category C</p>
<ul>
<li>Item 7</li>
<li>Item 8</li>
<li>Item 9</li>
</ul>
Chris가 내 문제의 절반을 해결해 주므로 항목이 이제 표시됩니다. 또 다른 문제는 카테고리 ID 대신 카테고리 이름을 표시하는 방법입니다. – finspin
'category_id' 대신'category'에 의해 재 그룹화하면,'grouper'는'Category'의 인스턴스가 될 것이고 당신은 정상적으로 그것의 모든 속성에 접근 할 수 있습니다. –
크리스, 고마워요! :) – finspin