mirror of
https://github.com/fergalmoran/dss.api.git
synced 2026-01-06 08:33:57 +00:00
Updated likes to use pre filtered POST data
This commit is contained in:
@@ -109,8 +109,8 @@ class MixSerializer(serializers.ModelSerializer):
|
||||
mix_image = serializers.ReadOnlyField(source='get_image_url')
|
||||
can_edit = serializers.SerializerMethodField()
|
||||
|
||||
genres = GenreSerializer(many=True, required=False, read_only=False)
|
||||
likes = LikeSerializer(many=True, required=False, read_only=False) # slug_field='slug', many=True, read_only=True)
|
||||
genres = GenreSerializer(many=True, required=False, read_only=True)
|
||||
likes = LikeSerializer(many=True, required=False, read_only=True) # slug_field='slug', many=True, read_only=True)
|
||||
favourites = serializers.SlugRelatedField(slug_field='slug', many=True, read_only=True)
|
||||
plays = InlineActivityPlaySerializer(many=True, read_only=True, source='activity_plays')
|
||||
downloads = InlineActivityDownloadSerializer(read_only=True, source='activity_downloads')
|
||||
@@ -120,7 +120,7 @@ class MixSerializer(serializers.ModelSerializer):
|
||||
# all nested representations need to be serialized separately here
|
||||
try:
|
||||
# get any likes that aren't in passed bundle
|
||||
likes = validated_data['likes']
|
||||
likes = self.initial_data['likes']
|
||||
unliked = instance.likes.exclude(user__userprofile__slug__in=[l['slug'] for l in likes])
|
||||
for ul in unliked:
|
||||
# check that the user removing the like is an instance of the current user
|
||||
@@ -138,7 +138,6 @@ class MixSerializer(serializers.ModelSerializer):
|
||||
|
||||
except UserProfile.DoesNotExist:
|
||||
pass
|
||||
validated_data.pop('likes', None)
|
||||
|
||||
# get any likes that aren't in passed bundle
|
||||
if 'downloads' in validated_data:
|
||||
|
||||
@@ -39,3 +39,4 @@ mutagen
|
||||
django-enumfield
|
||||
|
||||
ipython
|
||||
ipdb
|
||||
@@ -167,7 +167,6 @@ class Mix(BaseModel):
|
||||
return self.get_waveform_url(waveform_type="_progress")
|
||||
|
||||
def get_image_url(self, size='200x200', default=''):
|
||||
import ipdb; ipdb.set_trace()
|
||||
try:
|
||||
if self.mix_image.name and self.mix_image.storage.exists(self.mix_image.name):
|
||||
ret = get_thumbnail(self.mix_image, size, crop='center')
|
||||
|
||||
Reference in New Issue
Block a user