Привет. Я хочу отправить сообщение в мой альбом с помощью моего AlbumSerializer. Проблема в том, что я не получаю имя Исполнителя в проверенных данных внутри функции create.
#models.py
class Artist(models.Model):
name = models.CharField()
...
class Album(models.Model):
name = models.CharField()
artist = models.ForeignKey(Artist)
class Track(models.Model):
album = models.ForeignKey(Album)
title = models.CharField()
#serializers.py
class AlbumSerializer(serializers.ModelSerializer):
artist = serializers.StringRelatedField()
tracks = TrackSerializer(many=True)
class Meta:
model = Album
fields = '__all__'
def create(self, validated_data):
print(validated_data)
...
Я передаю эти данные:
{
"name": "Test",
"artist": "Enimem",
...
}
Когда я печатаю validated_data Художник не включен. Это потому, что это внешний ключ? Тогда как мне добавить его в validated_data?
{'name': 'Test', ...}
Я попытался добавить функцию to_interval_value, которая разрешила мою проблему, но я действительно не хочу, чтобы она была добавлена, потому что она испортила стандартные ошибки ValidationErrors.
def to_interval_value(self, data):
return data