From 48bff6a1b2dd213cb12b7be3fd8670d296458484 Mon Sep 17 00:00:00 2001 From: Dustin Pianalto Date: Sat, 14 Dec 2019 23:56:26 -0900 Subject: [PATCH] Remove guild from many-to-many if it starts with a - --- geeksbot_web/users/serializers.py | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/geeksbot_web/users/serializers.py b/geeksbot_web/users/serializers.py index 1cdfd0d..07d20aa 100644 --- a/geeksbot_web/users/serializers.py +++ b/geeksbot_web/users/serializers.py @@ -46,7 +46,12 @@ class UserSerializer(serializers.HyperlinkedModelSerializer): prev_discrims.add(instance.discriminator) validated_data['previous_discriminators'] = list(prev_discrims) 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)