diff --git a/lms/djangoapps/ccx/migrations/0006_set_display_name_as_override.py b/lms/djangoapps/ccx/migrations/0006_set_display_name_as_override.py index b66ce2754e709dbc4fbf7deea73130a4a889b8aa..c6a2e2f3c070e5ed079151c97c473e9c53daedc1 100644 --- a/lms/djangoapps/ccx/migrations/0006_set_display_name_as_override.py +++ b/lms/djangoapps/ccx/migrations/0006_set_display_name_as_override.py @@ -3,6 +3,7 @@ from __future__ import unicode_literals from django.db import migrations +from django.http import Http404 import json import logging @@ -28,7 +29,15 @@ def save_display_name(apps, schema_editor): # Create `display_name` overrides for these CCX courses for ccx in ccx_list: - course = get_course_by_id(ccx.course_id, depth=None) + try: + course = get_course_by_id(ccx.course_id, depth=None) + except Http404: + log.error( + "Root course %s not found. Can't create display_name override for %s.", + ccx.course_id, + ccx.display_name + ) + continue display_name = course.fields['display_name'] display_name_json = display_name.to_json(ccx.display_name) serialized_display_name = json.dumps(display_name_json)