首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >获取类别中的所有类别和项目

获取类别中的所有类别和项目
EN

Stack Overflow用户
提问于 2013-08-24 13:24:36
回答 1查看 630关注 0票数 1

我试图显示这些类别中的所有类别和项目。

例:

代码语言:javascript
复制
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

我的模特:

代码语言:javascript
复制
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

我不太确定如何创建一个视图,以便迭代所有类别,并显示一个包含所有项的表。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2013-08-24 13:32:05

这应该能起作用:

代码语言:javascript
复制
def show_categories(request):
    ctx = {
        'categories': Category.objects.all(),
    }

    return render(request, 'my_template.html', ctx)

模板:

代码语言:javascript
复制
{% 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 %}

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/18419075

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档