2017-06-29 30 views
1

最近開始學習DRF庫,我不明白this如何在AlbumSerializer中使用方法更新來保存外鍵。 預先感謝您。如何更新關係在DjangoRestFramework

+0

你在那裏不明白的東西......這是嵌套序列化器的基本示例?? – zaidfazil

+0

在示例中有一種創建方法,但沒有方法,更新 它是如何製作的 – User34

回答

0

這是基本的示例序列化器,但是如果您需要一個建議,那麼這可能會對您有所幫助。一個簡單的更新方法的串行器,

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 
+0

感謝您的幫助 – User34

+0

沒有問題的人......另外一個嘗試人! – zaidfazil