"Это поле обязательно для заполнения." в сериализаторах DRF

Я столкнулся с проблемой в сериализаторах DRF. У меня есть модель Issue, которая имеет внешний ключ User Model для сохранения пользователя, который создал конкретную проблему. Теперь запрос Get работает нормально, когда я запрашиваю получение заданий, я получаю его в полном порядке с именем пользователя, который создал задание, но когда я делаю запрос post, я получаю ошибку на поле "created_by", что "This field is requied", хотя я предоставляю это поле.

Ниже приведен мой код:

Модель

class Issues(models.Model):
    created_by = models.ForeignKey(User, on_delete=models.CASCADE, related_name='issue_created_by')
    title = models.CharField(max_length=225, default='', null=False)
    details = models.CharField(max_length=1000, default='')
    created_on = models.DateField(default=timezone.now)
    tags = models.CharField(max_length=225, blank=True, null=True, default='')

Issue Serializer

class IssueSerializer(serializers.ModelSerializer):
    created_by = UserSerializer()

    class Meta:
        model = Issues
        fields = ['created_by', 'title', 'details', 'created_on', 'tags']

UserSerializer

class UserSerializer(serializers.ModelSerializer):
    class Meta:
        model = User
        fields = ['username', 'first_name', 'last_name', 'email', 'password']
        extra_kwargs = {'password': {'write_only': True}}

    def create(self, validated_data):
        user = super().create(validated_data)
        user.set_password(validated_data['password'])
        user.save()
        return True

views.py

class IssueView(viewsets.ViewSet):

    def create(self, request):
        serialized_issues = IssueSerializer(data=request.data)
        if serialized_issues.is_valid():
            serialized_issues.save()
            return Response({'message': 'Issue Created', 'status': status.HTTP_200_OK})
        else:
            return Response({'error': serialized_issues.errors, 'status': status.HTTP_400_BAD_REQUEST})

    def list(self, request):
        all_issues = Issues.objects.all()
        serialized_issues = IssueSerializer(all_issues, many=True)
        return Response(serialized_issues.data)

Вернуться на верх