Fixes to serializers

This commit is contained in:
Fergal Moran
2015-12-19 21:45:26 +00:00
parent beae2eb50e
commit a251926ec4
2 changed files with 21 additions and 15 deletions

View File

@@ -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