есть сериализатор который работает при get запросах но не работает при post запросах и выкидывает ошибку после is_valid()
Сериализатор:
class Game_serializer(serializers.ModelSerializer):
class Meta:
model = Game
fields = '__all__'
Модель:
class Game(models.Model):
name = models.CharField(verbose_name='Название', max_length=300)
year = models.IntegerField(verbose_name='Год выхода')
description = models.TextField(verbose_name='Описание', max_length=10000)
studio = models.CharField(verbose_name='Разработчик', max_length=300)
rating = models.FloatField(verbose_name='Рейтинг')
poster = models.ImageField(verbose_name='Постер')
rubric = models.ForeignKey(verbose_name='Рубрика', to='Rubric', on_delete=models.PROTECT, null=True, blank=True)
class Meta:
verbose_name = 'Игра'
verbose_name_plural = "Игры"
class Rubric(models.Model):
name = models.CharField(verbose_name='Название', max_length=300)
def __str__(self):
return self.name
class Meta:
verbose_name = 'Рубрика'
verbose_name_plural = 'Рубрики'
View:
class Games_api(APIView):
def get(self, request):
games = Game.objects.all()
game_serializer = Game_serializer(instance=games, many=True)
return Response(game_serializer.data)
def post(self, request):
serializer = Game_serializer(data=request.data, many=True)
if serializer.is_valid():
serializer.save()
return Response(serializer.data, status=status.HTTP_201_CREATED)
else:
return Response(serializer.data, status=status.HTTP_400_BAD_REQUEST)