Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/cassandra/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Django rest framework Django Rest框架中的Group by_Django Rest Framework - Fatal编程技术网

Django rest framework Django Rest框架中的Group by

Django rest framework Django Rest框架中的Group by,django-rest-framework,Django Rest Framework,我有一个会议模型。会议有一个用户参加。我想汇总参加会议的用户的所有会议,以显示在一些分析视图中 # models.py class Meeting(models.Model): user = models.ForeignKey(User) # urls.py router.register( r"meetings-by-user", views.MeetingsByUserViewSet, basename="meeting") ...

我有一个会议模型。会议有一个用户参加。我想汇总参加会议的用户的所有会议,以显示在一些分析视图中

# models.py
class Meeting(models.Model):
    user = models.ForeignKey(User)

# urls.py
router.register(
    r"meetings-by-user", views.MeetingsByUserViewSet, basename="meeting")
...
path("api/", include(router.urls)),

# views.py
class MeetingsByUserViewSet(viewsets.ModelViewSet):
    queryset = Meeting.objects.values("user").annotate(total=Count("id"))
    serializer_class = MeetingAggSerializer
    pagination_class = PageNumberPagination

# serializers.py
class UserSerializerSlim(serializers.ModelSerializer):
    network_name = serializers.CharField(read_only=True, source="network.name")

    class Meta:
        model = User
        fields = ("first_name", "network_name")

class MeetingAggSerializer(serializers.Serializer):
    id = serializers.IntegerField(read_only=True)
    expert = UserSerializerSlim()
    total = serializers.IntegerField()

    class Meta:
        model = Meeting
        fields = ("id", "user", "total")
打开时,我得到以下输出http://localhost:8000/api/meetings-按用户/

{
    "count": 3,
    "next": null,
    "previous": null,
    "results": [
        {
            "user": {},
            "total": 1
        },
        {
            "user": {},
            "total": 3
        },
        {
            "user": {},
            "total": 1
        }
    ]
}
MeetingAggSerializer似乎没有正确使用UserSerializerSlim