Django管理中的分组

2024-05-23 14:51:34 发布

您现在位置:Python中文网/ 问答频道 /正文

模型.py

from django.db import models
from collections import Counter
from django.db.models import Count
from itertools import groupby
Gender = (
    ('Male', 'MALE'),
    ('Female', 'FEMALE'),
)

Diseases = (
    ('Cholera', 'CHOLERA'),
    ('HIV', 'HIV'),
    ('Malaria', 'MALARIA'),
    ('Typhoid', 'TYPHOID'),
    ('Measles', 'MEASLES'),
)


class MyModel(models.Model):
    Gender = models.CharField(max_length=16, choices=Gender, default='MALE')
    Diseases = models.CharField(max_length=16, choices=Diseases, default='MALARIA')
    vote = models.IntegerField(default=0)

    def __str__(self):
            r=0
            return u'%s %s' % (self.Gender, self.Diseases)

现在在admindjango面板中返回这个

^{pr2}$

但我想把它组合成这样:

^{3}$

而不是像现在这样列出所有的管理面板


Tags: djangofromimportselfdefaultdbmodelsgender
1条回答
网友
1楼 · 发布于 2024-05-23 14:51:34

您可以使用^{}^{}函数对值进行分组

MyModel.objects.values('Gender, Diseases').annotate(Count('Gender'), Count('Diseases'))

但是,如果您想编辑数据,那么在管理面板中分组是没有意义的。将某个元素分组会删除每个元素的标识/主键,并使其无法在“对象”视图中实际选择一个元素。在

相关问题 更多 >