django rest创建api以显示模型中distict字段的数量

时间:2017-09-24 04:35:31

标签: django django-rest-framework serializer

我有一个名为'person'的模型,其中包含一些字段'name,family,tel,....' 我想创建一个api来显示不同家庭的数量。

我的 serializer.py

class PersonCountSerializer(ModelSerializer):
    class Meta:
        model = Person
        fields = 'family'

我的 view.py

class PersonCountView(ModelViewSet):
      queryset = Person.objects.all().distinct('family').count
      serializer_class = PersonCountSerializer

urls.py:

router.register(r'personcount', views.PersonCount)

它不起作用,请帮助解决它。 感谢

2 个答案:

答案 0 :(得分:0)

这里的答案

Person.objects.all().values_list('family', flat=True).distinct().count()

如果您想了解更多信息,请参阅文档Django query distinct

答案 1 :(得分:0)

Person.objects.all()。annotate(Count('family',distinct = True))