如何在Django

时间:2015-09-09 02:07:56

标签: python django

我有两种模式:

class Unit (models.Model):
    Unit_name = models.CharField(max_length=30)
    Hull_number = models.CharField(max_length=30)
    Parent_unit = models.ForeignKey("self", blank=True, null=True)
    Class = models.ForeignKey(Class)
    email = models.CharField(max_length=50, default='')
    Member = models.ManyToManyField(Member, through='MemberUnit')

    def __str__(self):
        return self.Unit_name

class MemberUnit(models.Model):
    Member = models.ForeignKey(Member)
    Unit = models.ForeignKey(Unit)
    Position = models.ForeignKey(ClassPosition)

    def __str__(self):
        return self.Unit.Unit_name + " " + 
                self.Position.unit_position.Position_name + " ( " + 
                self.Member.first_name + " " + self.Member.last_name + " )"

我是Django的新手(有点)。查询是我缺乏的地方。 我需要的是Unit_names的总计数。

为此,我需要一个查询作为我视图的一部分,以提供Unit_Name及其计数。 对此的任何帮助将不胜感激。

由于

1 个答案:

答案 0 :(得分:2)

希望这会有所帮助:

from django.db.models import Count
MemberUnit.objects.values('Unit__Unit_name').annotate(c=Count('Unit'))

你可以在Django的shell中试试这个:

manage.py shell

请参阅docs