Я использую django rest framework для создания конечной точки api. Я использую стандартную модель пользователя django предлагает. Мне нужно создать сообщение, которое использует пользователя в качестве внешнего ключа. Пользователь с именем «автор» в сообщении может иметь несколько сообщений.
Это пример сообщения json.
[
{
"author": {
"id": 1,
"username": "sorin"
},
"title": "First Post",
"description": "Hello World!",
"created_at": "2020-08-05T14:20:51.981163Z",
"updated_at": "2020-08-05T14:20:51.981163Z"
}
]
Это модель.
class Post(models.Model):
author = models.ForeignKey(User, on_delete=models.CASCADE)
title = models.CharField(max_length=255)
description = models.TextField()
created_at = models.DateTimeField(auto_now_add=True)
updated_at = models.DateTimeField(auto_now=True)
def __str__(self):
return self.title
Это сериализатор.
class UserSerializer(serializers.ModelSerializer):
class Meta:
model = User
fields = ('id', 'username')
class PostSerializer(serializers.HyperlinkedModelSerializer):
author = UserSerializer()
class Meta:
model = Post
fields = ('author', 'title', 'description', 'created_at', 'updated_at')
Я получаю сообщение об ошибке «Метод .create()
по умолчанию не поддерживает записываемые вложенные поля». при попытке отправить почтовый запрос с использованием «имени пользователя», «заголовка» и «описания».
Есть помощь, как решить эту проблему?