django 查询集按字段分组

标签 django django-models django-templates django-views

我有一个 ListView ,想根据外键 ID 进行分组

View .py
class SelectListView(ListView):
    model=MyModel
    template_name = "/select_list.html"
    context_object_name = 'selectlist'
    queryset = MyModel.objects.all().values('ItemType_id')

    paginate_by = 10

    def get_context_data(self, **kwargs):

        context = super(SelectListView, self).get_context_data(**kwargs)
        context['range'] = range(context["paginator"].num_pages)
        return context

模型.py
class ItemType(models.Model):
       ItemType=models.CharField(unique=True,max_length=40)
class MyModel(models.Model):
       Type=models.ForeignKey(ItemType)
       ItemName=models.CharField(unique=True,max_length=40)       

问题:我想在 MyModel 中按 ItemType_id 的查询集进行分组

期望:根据 ItemType_id 从 MyModel 组中选择 *

最佳答案

你必须做这样的事情:

from django.db.models import Count

MyModel.objects.values('Type').annotate(dcount=Count('Type'))

MyModel.objects.values('Type__id').annotate(dcount=Count('Type__id'))

您还可以阅读 this document can help you.... 祝你好运!

关于django 查询集按字段分组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48135831/

相关文章:

javascript - Django - 将 python 数据传递给 javascript

django - "Best"有条件地显示Django模板中不同模型字段的值的方法?

Django日期查询从最新到最旧

django - 第 3 行的 block 标记无效 : 'else' . 您是否忘记注册或加载此标记?

django - 在 Django 的管理界面中添加换行符和标题

python - Django 动态 url 参数名称

html - Django 模板 - 2 个 HTML 表格需要它们匹配

django - 有没有一种简单的方法可以使用 Django 在开发服务器中测试受 SSL 保护的网页?

python - 我如何重新格式化日期

python - Django日月事件日期查询