У меня есть модель:
class Route(models.Model):
name = models.CharField("Номер маршрута", max_length=100)
evotor_user = models.ForeignKey(settings.AUTH_USER_MODEL, verbose_name="пользователь эвотор", on_delete=models.CASCADE)
nds_CHOICES = (
(0, 'БЕЗ НДС'),
(1, 'Основная ставка 0%'),
(2, 'Основная ставка 10%'),
(3, 'Расчётная ставка 10%'),
(4, 'Основная ставка 18%'),
(5, 'Расчётная ставка 18%')
)
nds = models.IntegerField('НДС', choices=nds_CHOICES, default=0)
def __str__(self):
return self.name
class Meta:
verbose_name = "Номер маршрута"
verbose_name_plural = "Номера маршрутов"
И у меня есть сериализатор для этой модели:
class RouteSerializer(serializers.ModelSerializer):
class Meta:
model = Route
fields = ("id", "name", "nds")
Мой APIView
class CarView(APIView):
authentication_classes = (BearerAuthentication,)
permission_classes = (IsAuthenticated,)
def get(self, request):
if 'route_id' not in request.GET or request.GET['route_id']=="":
#return Response({'message': 'Не указан ID маршрута'}, status=status.HTTP_400_BAD_REQUEST)
car = Car.objects.filter(evotor_user=request.user)
else:
car = Car.objects.filter(route__id=request.GET['route_id'])
serializer = CarSerializer(car, many=True)
print(serializer.data)
return Response(serializer.data)
используйте этот сериализатор
class CarSerializer(serializers.ModelSerializer):
route = RouteSerializer
class Meta:
model = Car
fields = ("id", "name", "route")
и должен вернуть мне вывод, подобный этому: [{"id": 1, "name": "dfgdfgdfg", "route": {'id': 1, 'name': 'route_name','nds': 0,}}]
Но возвращается: [{"id": 1, "name": "dfgdfgdfg", "route": 1}]