diff options
| -rw-r--r-- | pydis_site/apps/api/serializers.py | 10 | 
1 files changed, 6 insertions, 4 deletions
| diff --git a/pydis_site/apps/api/serializers.py b/pydis_site/apps/api/serializers.py index 51afbe73..ed6717e7 100644 --- a/pydis_site/apps/api/serializers.py +++ b/pydis_site/apps/api/serializers.py @@ -262,12 +262,14 @@ class UserListSerializer(ListSerializer):      def create(self, validated_data: list) -> list:          """Override create method to optimize django queries."""          new_users = [] -        request_user_ids = [user["id"] for user in validated_data] +        seen = set()          for user_dict in validated_data: -            if request_user_ids.count(user_dict["id"]) > 1: -                raise ValidationError({"id": f"User with ID {user_dict['id']} " -                                             f"given multiple times."}) +            if user_dict["id"] in seen: +                raise ValidationError( +                    {"id": f"User with ID {user_dict['id']} given multiple times."} +                ) +            seen.add(user_dict["id"])              new_users.append(User(**user_dict))          return User.objects.bulk_create(new_users, ignore_conflicts=True) | 
