У меня проблема с сериализацией DRF. Моя основная цель - создать экземпляр со связанным полем, но вместо предоставления связанных моделей id
я хочу использовать другое уникальное поле. В то же время, когда я буду сериализовать свою модель, чтобы представить ее (не создавать), я хотел бы получить значение связанных полей по умолчанию. Вот пример
class Comment(models.Model):
description = models.TextField()
creator = models.ForeignKey(User, ...)
x = Creator.objects.get(pk=1)
print(x.unique_field)
> 'some data'
client.post('comment-detail', data={
'description': 'some description',
'creator_unique_field': 'some data'
})
# this should create a comment while using some unique creators field
# which is not pk or id
print(client.get('comment-detail', data={'pk':1}))
{
'description' 'some description',
'creator': 1,
}
Я не знаю, следует ли мне изменить сериализатор моделей ViewSet create()
и retrieve()
. Я начинаю с DRF и не могу понять это