mirror of
https://github.com/fergalmoran/dss.api.git
synced 2025-12-25 10:49:16 +00:00
Fixes to serializers
This commit is contained in:
@@ -202,6 +202,18 @@ class MixSerializer(serializers.ModelSerializer):
|
||||
except UserProfile.DoesNotExist:
|
||||
pass
|
||||
|
||||
genres = self.initial_data['genres']
|
||||
instance.genres.clear()
|
||||
for genre in genres:
|
||||
try:
|
||||
g = Genre.objects.get(slug=genre.get('slug'))
|
||||
instance.genres.add(g)
|
||||
except Genre.DoesNotExist:
|
||||
""" Possibly allow adding genres here """
|
||||
pass
|
||||
|
||||
validated_data.pop('genres', None)
|
||||
|
||||
# get any likes that aren't in passed bundle
|
||||
if 'downloads' in validated_data:
|
||||
plays = validated_data['downloads'] or []
|
||||
@@ -209,12 +221,6 @@ class MixSerializer(serializers.ModelSerializer):
|
||||
instance.add_play(play)
|
||||
validated_data.pop('downloads', None)
|
||||
|
||||
if 'genres' in validated_data:
|
||||
genres = validated_data['genres'] or []
|
||||
for genre in genres:
|
||||
instance.add_genre(genre)
|
||||
validated_data.pop('genres', None)
|
||||
|
||||
return super(MixSerializer, self).update(instance, validated_data)
|
||||
except MixUpdateException as ex:
|
||||
raise ex
|
||||
|
||||
Reference in New Issue
Block a user