У меня есть 2 класса моделей:
class CustomUser(AbstractUser):
username = models.CharField(max_length=30, unique=True)
tags = models.ManyToManyField('events.Tag', related_name='user_tag', blank=True)
class Tag(models.Model):
name = models.CharField(unique=True, max_length=50)
И сериализаторы:
class UserSerializer(serializers.ModelSerializer):
tags = TagSerializer(many=True)
class Meta:
...
class TagSerializer(serializers.ModelSerializer):
class Meta:
lookup_field = 'name'
model = Tag
fields = ('id', 'name')
Когда я делаю запрос get, я получаю что-то вроде этого:
"data": {
"type": "CustomUser",
"id": "6",
"attributes": {
"username": "mercer",
},
"relationships": {
"tags": {
"data": [
{
"type": "Tag",
"id": "1"
}
]
},
}
}
Я хочу получить поле «Имя» тега в пользовательском представлении:
"type": "Tag",
"id": "1",
"name":"name"
И я хочу сделать запрос на исправление для добавления тега к пользователю.
Я могу использовать SerializerMethodField()
, но так я не смогу добавить теги