我最近开始学习DRF库,我不明白如何在this示例中使用AlbumSerializer中的方法更新来保存外键。 提前谢谢。
答案 0 :(得分:1)
它的基本示例序列化程序,但如果您需要建议,那么这可能会对您有所帮助。序列化程序的简单更新方法
def update(self, instance, validated_data):
tracks = validated_data.pop('tracks')
instance.album_name = validated_data.get('title', instance.album_name)
instance.artist = validated_data.get('artist', instance.artist)
instance.save()
for track in tracks:
new_track = Track.objects.get(album=instance, order=track['order'])
new_track.title = track.get('title', new_track.title)
new_track.duration = track.get('duration', new_track.duration)
new_track.save()
return instance