Указание строки в ForeignKey при создании новой записи Django

Столкнулся с проблемой создания записи с ForeignKey. Заранее извиняюсь, если неправильно задал вопрос или на такой вопрос уже давали ответ. У меня есть простенькое приложение на Django Rest Framework для бэкенда и приложение на React.js для фронтенда.

views.py

...
class PostCreateView(APIView):

    def post(self, request):
        new_post = PostCreateUpdateSerializer(data=request.data)

        if new_post.is_valid(raise_exception=True):
            new_post.save()

            return Response(status=201)

        return Response(new_post.errors)
...

models.py

...
class Post(models.Model):

    category = models.ForeignKey(Category, verbose_name='Категория', on_delete=models.CASCADE)
    title = models.CharField('Название', max_length=100)
    content = models.TextField('Содержание')
    pub_date = models.DateTimeField(auto_now_add=True)
    slug = models.SlugField(max_length=110, unique=True)
...

serializers.py

...
class PostCreateUpdateSerializer(serializers.ModelSerializer):

    class Meta:
        model = Post
        fields = ['category', 'title', 'content']
...

Дело в том, что при создании поста есть поле category и оно ожидает ID категории, к которой я хочу привязать будущий пост. Но я хочу передавать в это поле не ID категории, а название. То есть при создании поста хочу писать так

{
    "category": "Some category",
    "title": "Test post",
    "content": "Test post content"
}

а не

{
    "category": 2,
    "title": "Test post",
    "content": "Test post content"
}

Возможно ли это как-нибудь?


Ответы (0 шт):