Skip to content
Snippets Groups Projects
Unverified Commit b59b6b41 authored by Awais Jibran's avatar Awais Jibran Committed by GitHub
Browse files

Merge pull request #26702 from edx/aj/refactor/using-q-objects

refactor: use q objects when fetching user using an identifier
parents 65f79ef9 fa44c247
No related branches found
Tags release-2021-02-25-12.23
No related merge requests found
# lint-amnesty, pylint: disable=imported-auth-user, missing-module-docstring
from django.contrib.auth.models import User
from django.core.management.base import BaseCommand
from django.core.management.base import BaseCommand, CommandError
from django.db.models import Q
from openedx.core.djangoapps.django_comment_common.models import Role
......@@ -26,10 +27,9 @@ class Command(BaseCommand): # lint-amnesty, pylint: disable=missing-class-docst
role = Role.objects.get(name=role, course_id=course_id)
if '@' in name_or_email:
user = User.objects.get(email=name_or_email)
else:
user = User.objects.get(username=name_or_email)
user = User.objects.filter(Q(email=name_or_email) | Q(username=name_or_email)).first()
if not user:
raise CommandError(f"User {name_or_email} does not exist.")
if options['remove']:
user.roles.remove(role)
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment