[Answered ]-Validation error in Django 'POST' request

1👍

✅

Your car rate models actually doest have a field to store ‘rate’, the current rate field stores car data not rates. So change your CarRate model to

class CarRate(models.Model):
    car = models.ForeignKey(Car, related_name='rates', on_delete=models.CASCADE)
    rate = models.PositiveIntegerField(default=0)

Serializer

class CarRateSerializer(serializers.HyperlinkedModelSerializer):
    class Meta:
        model = CarRate
        fields = ('__all__')

car_rate view

@api_view(['POST'])
def car_rate(request):

    if request.method == 'POST':
        rate_data = JSONParser().parse(request)
        rate_serializer = CarRateSerializer(data=rate_data) #Changed Serializer class

        if rate_serializer.is_valid():
        
            ''' Code that checks if a rate is from 1 to 5 '''
            return JsonResponse({'message': 'valid'})

        return JsonResponse({'message': 'Car id not found!'})

Leave a comment