Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/341.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

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/opengl/4.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
Python 使用注释的Django数据分组_Python_Django_Api - Fatal编程技术网

Python 使用注释的Django数据分组

Python 使用注释的Django数据分组,python,django,api,Python,Django,Api,我有这两种型号 class Car(TimeStampedModel): name = models.CharField(_('Car Name'), max_length=50) manager = models.ForeignKey( 'cars.Manager', verbose_name=_('Car Manager'), related_name='cars', on_delete=models.CASCADE )

我有这两种型号

class Car(TimeStampedModel):
   name = models.CharField(_('Car Name'), max_length=50)

   manager = models.ForeignKey(
     'cars.Manager',
      verbose_name=_('Car Manager'),
      related_name='cars',
      on_delete=models.CASCADE
    )

    def __str__(self):
      return self.name

class Manager(models.Model):
    name = models.CharField(_('Name'), max_length=25)

    class Meta:
        verbose_name = _('Car Manager')
        verbose_name_plural = _('Car Managers')

    def __str__(self):
        return self.name
我还创建了这个序列化程序

class CarManagerSerializer(serializers.ModelSerializer):

    class Meta:
        model = Manager
        fields = '__all__'
然后在视图上,我尝试通过这种方式获得每个经理管理的车的数量

def get(self, request):
    cars_managers = Manager.objects.all().annotate(number_of_managed_cars=Count('cars'))
    serializer = CarManagerSerializer(cars_managers, many=True)
    serializer_data = serializer.data
    return Response(serializer_data, status=status.HTTP_200_OK)
然后我尝试点击端点:

{
 {
    "id": 1,
    "name": "John Doe",
  }
}
结果上没有多少辆管理的车

我接着说: 仍然不能得到正确的结果


我错过了哪里?

您需要在serializer类中指定
受管车辆的数量
字段

class CarManagerSerializer(serializers.ModelSerializer):
    number_of_managed_cars = serializers.IntegerField(read_only=True)

    class Meta:
        model = Manager
        fields = '__all__'
类CarManagerSerializer(serializers.ModelSerializer): 托管车的数量=序列化器。整型字段(只读=真) 类元: 模型=管理器
fields='\uuuuu all\uuuuu'您的
CarManagerSerializer
类在哪里?我刚刚添加了@JPG