我试图显示这些类别中的所有类别和项目。
例:
category 1 name
|Item | Qty available|
|Item 1 | 6 |
|Item 2 | 1 |
category 1 info
category 2 name
|Item | Qty available|
|Item 1 | 10 |
|Item 2 | 3 |
category 2 info我的模特:
from django.db import models
class Category(models.Model):
name = models.CharField(max_length=200)
info = models.TextField(blank=True)
def __unicode__(self):
return self.name
class Item(models.Model):
name = models.CharField(max_length=200)
quantity = models.IntegerField()
category = models.ForeignKey(Category)
def __unicode__(self):
return self.name我不太确定如何创建一个视图,以便迭代所有类别,并显示一个包含所有项的表。
发布于 2013-08-24 13:32:05
这应该能起作用:
def show_categories(request):
ctx = {
'categories': Category.objects.all(),
}
return render(request, 'my_template.html', ctx)模板:
{% for category in categories %}
{{ category.name }}
| Item | Qty available |
{% for item in category.item_set.all %}
| Item {{ item.name|rjust:'3' }} | {{ item.quantity|ljust:'13' }} |
{% endfor %}
{{ category.info }}
{% endfor %}如果将related_name='items'添加到category = models.ForeignKey(Category)中,则可以将{% for item in category.item_set.all %}替换为{% for item in category.items.all %}
https://stackoverflow.com/questions/18419075
复制相似问题