Указание строки в 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"
}
Возможно ли это как-нибудь?