У меня 2 модели:
class User(AbstractUser):
pass
class Post(models.Model):
likers = models.ManyToManyField('User', blank=True, null=True, related_name='liked_posts')
Модель Post имеет поле manytomany для модели User. Я сериализую их отдельно, используя отдых следующим образом:
class UserSerializer(serializers.ModelSerializer):
class Meta:
model = User
fields = '__all__'
class PostSerializer(serializers.ModelSerializer):
class Meta:
model = Post
fields = '__all__'
JSON модели публикации отображает идентификатор объекта пользователя в «лайкерах»: 'likers': 1
. Есть ли способ отправить json пользователя вместо его идентификатора? Что-то вроде:
{
'likers': [
'1':
'username': foo
]
}
Вы можете использовать UserSerializer
вместо likers
:
class PostSerializer(serializers.ModelSerializer):
likers = UserSerializer(many=True)
class Meta:
model = Post
fields = '__all__'