From 589716144c4254dfc5af9b1e20fc08952b88b9b0 Mon Sep 17 00:00:00 2001 From: Awais Jibran <awaisdar001@gmail.com> Date: Wed, 3 Mar 2021 10:45:48 +0500 Subject: [PATCH] refactor: use q objects when fetching user using an identifier (#26726) * refactor: use q objects when fetching user using an identifier #26683 * Nit --- .../management/commands/regenerate_user.py | 11 ++++++----- 1 file changed, 6 insertions(+), 5 deletions(-) diff --git a/lms/djangoapps/certificates/management/commands/regenerate_user.py b/lms/djangoapps/certificates/management/commands/regenerate_user.py index 7708877e0bb..fb260403acd 100644 --- a/lms/djangoapps/certificates/management/commands/regenerate_user.py +++ b/lms/djangoapps/certificates/management/commands/regenerate_user.py @@ -5,7 +5,8 @@ import copy import logging from django.contrib.auth import get_user_model -from django.core.management.base import BaseCommand +from django.core.management.base import BaseCommand, CommandError +from django.db.models import Q from opaque_keys.edx.keys import CourseKey from lms.djangoapps.badges.events.course_complete import get_completion_badge @@ -75,10 +76,10 @@ class Command(BaseCommand): course_id = CourseKey.from_string(options['course']) user = options['username'] - if '@' in user: - student = User.objects.get(email=user, courseenrollment__course_id=course_id) - else: - student = User.objects.get(username=user, courseenrollment__course_id=course_id) + kwargs = (Q(username=user) | Q(email=user)) & Q(courseenrollment__course_id=course_id) + student = User.objects.filter(kwargs).first() + if not student: + raise CommandError(f"User {user} does not exist.") course = modulestore().get_course(course_id, depth=2) -- GitLab