Merge pull request #17795 from edx/aj/use-get-or-create-EDUCATOR-2549

Use get or create rather than create
This commit is contained in:
Awais Jibran
2018-03-29 13:08:53 +05:00
committed by GitHub

View File

@@ -256,10 +256,17 @@ def get_cohort(user, course_key, assign=True, use_cached=False):
else:
course_user_group = get_random_cohort(course_key)
membership = CohortMembership.objects.create(
membership, created = CohortMembership.objects.get_or_create(
user=user,
course_user_group=course_user_group,
)
if not created:
# EDUCATOR-2549: Adding temporary log to test if we hit a situation where user already has
# a member ship group.
log.info(
"COHORT_MEMBERSHIP_FOUND: Membership found %s for course %s and user %s",
membership.course_user_group, course_key, user.id
)
return cache.setdefault(cache_key, membership.course_user_group)
except IntegrityError as integrity_error: