Remove guild from many-to-many if it starts with a -

This commit is contained in:
Dustin Pianalto 2019-12-14 23:56:26 -09:00
parent c39035c259
commit 48bff6a1b2

View File

@ -46,7 +46,12 @@ class UserSerializer(serializers.HyperlinkedModelSerializer):
prev_discrims.add(instance.discriminator) prev_discrims.add(instance.discriminator)
validated_data['previous_discriminators'] = list(prev_discrims) validated_data['previous_discriminators'] = list(prev_discrims)
if 'guilds' in validated_data: if 'guilds' in validated_data:
instance.guilds.add(*validated_data.pop('guilds')) for guild in validated_data['guilds']:
if guild.startswith('-'):
guild = guild[1:]
instance.guilds.remove(guild)
else:
instance.guilds.add(guild)
return super(UserSerializer, self).update(instance, validated_data) return super(UserSerializer, self).update(instance, validated_data)