diff --git a/common/lib/xmodule/xmodule/modulestore/tests/django_utils.py b/common/lib/xmodule/xmodule/modulestore/tests/django_utils.py
index 1a76094362..c5ad0cbb94 100644
--- a/common/lib/xmodule/xmodule/modulestore/tests/django_utils.py
+++ b/common/lib/xmodule/xmodule/modulestore/tests/django_utils.py
@@ -7,23 +7,19 @@ import functools
import os
from contextlib import contextmanager
-from mock import patch
-
+from courseware.field_overrides import OverrideFieldData # pylint: disable=import-error
from django.conf import settings
from django.contrib.auth.models import User
from django.test import TestCase
from django.test.utils import override_settings
-
-from courseware.field_overrides import OverrideFieldData # pylint: disable=import-error
+from mock import patch
+from openedx.core.djangolib.testing.utils import CacheIsolationMixin, CacheIsolationTestCase, FilteredQueryCountMixin
from openedx.core.lib.tempdir import mkdtemp_clean
-
from xmodule.contentstore.django import _CONTENTSTORE
from xmodule.modulestore import ModuleStoreEnum
-from xmodule.modulestore.django import modulestore, clear_existing_modulestores, SignalHandler
-from xmodule.modulestore.tests.mongo_connection import MONGO_PORT_NUM, MONGO_HOST
+from xmodule.modulestore.django import SignalHandler, clear_existing_modulestores, modulestore
from xmodule.modulestore.tests.factories import XMODULE_FACTORY_LOCK
-
-from openedx.core.djangolib.testing.utils import CacheIsolationMixin, CacheIsolationTestCase
+from xmodule.modulestore.tests.mongo_connection import MONGO_HOST, MONGO_PORT_NUM
class StoreConstructors(object):
@@ -312,7 +308,7 @@ class ModuleStoreIsolationMixin(CacheIsolationMixin, SignalIsolationMixin):
cls.enable_all_signals()
-class SharedModuleStoreTestCase(ModuleStoreIsolationMixin, CacheIsolationTestCase):
+class SharedModuleStoreTestCase(FilteredQueryCountMixin, ModuleStoreIsolationMixin, CacheIsolationTestCase):
"""
Subclass for any test case that uses a ModuleStore that can be shared
between individual tests. This class ensures that the ModuleStore is cleaned
@@ -395,7 +391,7 @@ class SharedModuleStoreTestCase(ModuleStoreIsolationMixin, CacheIsolationTestCas
super(SharedModuleStoreTestCase, self).setUp()
-class ModuleStoreTestCase(ModuleStoreIsolationMixin, TestCase):
+class ModuleStoreTestCase(FilteredQueryCountMixin, ModuleStoreIsolationMixin, TestCase):
"""
Subclass for any test case that uses a ModuleStore.
Ensures that the ModuleStore is cleaned before/after each test.
diff --git a/common/lib/xmodule/xmodule/tabs.py b/common/lib/xmodule/xmodule/tabs.py
index b4a8dd6fba..49d98c27ec 100644
--- a/common/lib/xmodule/xmodule/tabs.py
+++ b/common/lib/xmodule/xmodule/tabs.py
@@ -93,13 +93,10 @@ class CourseTab(object):
@property
def link_func(self):
"""
- Returns a function that will determine a course URL for this tab.
-
- The returned function takes two arguments:
- course (Course) - the course in question.
- view_name (str) - the name of the view.
+ Returns a function that takes a course and reverse function and will
+ compute the course URL for this tab.
"""
- return self.tab_dict.get('link_func', link_reverse_func(self.view_name))
+ return self.tab_dict.get('link_func', course_reverse_func(self.view_name))
@classmethod
def is_enabled(cls, course, user=None):
@@ -570,14 +567,46 @@ def key_checker(expected_keys):
return check
-def link_reverse_func(reverse_name):
+def course_reverse_func(reverse_name):
"""
- Returns a function that takes in a course and reverse_url_func,
- and calls the reverse_url_func with the given reverse_name and course's ID.
+ Returns a function that will determine a course URL for the provided
+ reverse_name.
- This is used to generate the url for a CourseTab without having access to Django's reverse function.
+ See documentation for course_reverse_func_from_name_func. This function
+ simply calls course_reverse_func_from_name_func after wrapping reverse_name
+ in a function.
"""
- return lambda course, reverse_url_func: reverse_url_func(reverse_name, args=[course.id.to_deprecated_string()])
+ return course_reverse_func_from_name_func(lambda course: reverse_name)
+
+
+def course_reverse_func_from_name_func(reverse_name_func):
+ """
+ Returns a function that will determine a course URL for the provided
+ reverse_name_func.
+
+ Use this when the calculation of the reverse_name is dependent on the
+ course. Otherwise, use the simpler course_reverse_func.
+
+ This can be used to generate the url for a CourseTab without having
+ immediate access to Django's reverse function.
+
+ Arguments:
+ reverse_name_func (function): A function that takes a single argument
+ (Course) and returns the name to be used with the reverse function.
+
+ Returns:
+ A function that takes in two arguments:
+ course (Course): the course in question.
+ reverse_url_func (function): a reverse function for a course URL
+ that uses the course ID in the url.
+ When called, the returned function will return the course URL as
+ determined by calling reverse_url_func with the reverse_name and the
+ course's ID.
+ """
+ return lambda course, reverse_url_func: reverse_url_func(
+ reverse_name_func(course),
+ args=[course.id.to_deprecated_string()]
+ )
def need_name(dictionary, raise_error=True):
diff --git a/common/test/acceptance/pages/lms/course_home.py b/common/test/acceptance/pages/lms/course_home.py
index 32f264821f..04e63af51a 100644
--- a/common/test/acceptance/pages/lms/course_home.py
+++ b/common/test/acceptance/pages/lms/course_home.py
@@ -30,7 +30,7 @@ class CourseHomePage(CoursePage):
self.outline = CourseOutlinePage(browser, self)
self.preview = StaffPreviewPage(browser, self)
# TODO: TNL-6546: Remove the following
- self.unified_course_view = False
+ self.course_outline_page = False
def click_bookmarks_button(self):
""" Click on Bookmarks button """
@@ -225,9 +225,9 @@ class CourseOutlinePage(PageObject):
courseware_page = CoursewarePage(self.browser, self.parent_page.course_id)
courseware_page.wait_for_page()
- # TODO: TNL-6546: Remove this if/visit_unified_course_view
- if self.parent_page.unified_course_view:
- courseware_page.nav.visit_unified_course_view()
+ # TODO: TNL-6546: Remove this if/visit_course_outline_page
+ if self.parent_page.course_outline_page:
+ courseware_page.nav.visit_course_outline_page()
self.wait_for(
promise_check_func=lambda: courseware_page.nav.is_on_section(section_title, subsection_title),
diff --git a/common/test/acceptance/pages/lms/courseware.py b/common/test/acceptance/pages/lms/courseware.py
index 85bcc5ea4b..2240808c60 100644
--- a/common/test/acceptance/pages/lms/courseware.py
+++ b/common/test/acceptance/pages/lms/courseware.py
@@ -355,7 +355,7 @@ class CourseNavPage(PageObject):
super(CourseNavPage, self).__init__(browser)
self.parent_page = parent_page
# TODO: TNL-6546: Remove the following
- self.unified_course_view = False
+ self.course_outline_page = False
def is_browser_on_page(self):
return self.parent_page.is_browser_on_page
@@ -579,11 +579,11 @@ class CourseNavPage(PageObject):
"""
return self.q(css='.chapter-content-container .menu-item.active a').attrs('href')[0]
- # TODO: TNL-6546: Remove all references to self.unified_course_view
+ # TODO: TNL-6546: Remove all references to self.course_outline_page
# TODO: TNL-6546: Remove the following function
- def visit_unified_course_view(self):
- # use unified_course_view version of the nav
- self.unified_course_view = True
- # reload the same page with the unified course view
- self.browser.get(self.browser.current_url + "&unified_course_view=1")
+ def visit_course_outline_page(self):
+ # use course_outline_page version of the nav
+ self.course_outline_page = True
+ # reload the same page with the course_outline_page flag
+ self.browser.get(self.browser.current_url + "&course_experience.course_outline_page=1")
self.wait_for_page()
diff --git a/common/test/acceptance/tests/lms/test_lms.py b/common/test/acceptance/tests/lms/test_lms.py
index 9f297e89ec..d1e1bd248d 100644
--- a/common/test/acceptance/tests/lms/test_lms.py
+++ b/common/test/acceptance/tests/lms/test_lms.py
@@ -790,9 +790,9 @@ class HighLevelTabTest(UniqueCourseTest):
#self.tab_nav.go_to_tab('Course')
self.course_home_page.visit()
- # TODO: TNL-6546: Remove unified_course_view.
- self.course_home_page.unified_course_view = True
- self.courseware_page.nav.unified_course_view = True
+ # TODO: TNL-6546: Remove course_outline_page.
+ self.course_home_page.course_outline_page = True
+ self.courseware_page.nav.course_outline_page = True
# Check that the tab lands on the course home page.
self.assertTrue(self.course_home_page.is_browser_on_page())
diff --git a/common/test/acceptance/tests/lms/test_lms_course_home.py b/common/test/acceptance/tests/lms/test_lms_course_home.py
index 0b9e39b7c5..129cd95b08 100644
--- a/common/test/acceptance/tests/lms/test_lms_course_home.py
+++ b/common/test/acceptance/tests/lms/test_lms_course_home.py
@@ -68,9 +68,9 @@ class CourseHomeTest(CourseHomeBaseTest):
"""
self.course_home_page.visit()
- # TODO: TNL-6546: Remove unified_course_view.
- self.course_home_page.unified_course_view = True
- self.courseware_page.nav.unified_course_view = True
+ # TODO: TNL-6546: Remove course_outline_page.
+ self.course_home_page.course_outline_page = True
+ self.courseware_page.nav.course_outline_page = True
# Check that the tab lands on the course home page.
self.assertTrue(self.course_home_page.is_browser_on_page())
diff --git a/common/test/db_cache/bok_choy_data_default.json b/common/test/db_cache/bok_choy_data_default.json
index 59a1150260..9d404e6588 100644
--- a/common/test/db_cache/bok_choy_data_default.json
+++ b/common/test/db_cache/bok_choy_data_default.json
@@ -1 +1 @@
-[{"fields": {"model": "apiaccessrequest", "app_label": "api_admin"}, "model": "contenttypes.contenttype", "pk": 1}, {"fields": {"model": "permission", "app_label": "auth"}, "model": "contenttypes.contenttype", "pk": 2}, {"fields": {"model": "group", "app_label": "auth"}, "model": "contenttypes.contenttype", "pk": 3}, {"fields": {"model": "user", "app_label": "auth"}, "model": "contenttypes.contenttype", "pk": 4}, {"fields": {"model": "contenttype", "app_label": "contenttypes"}, "model": "contenttypes.contenttype", "pk": 5}, {"fields": {"model": "redirect", "app_label": "redirects"}, "model": "contenttypes.contenttype", "pk": 6}, {"fields": {"model": "session", "app_label": "sessions"}, "model": "contenttypes.contenttype", "pk": 7}, {"fields": {"model": "site", "app_label": "sites"}, "model": "contenttypes.contenttype", "pk": 8}, {"fields": {"model": "taskmeta", "app_label": "djcelery"}, "model": "contenttypes.contenttype", "pk": 9}, {"fields": {"model": "tasksetmeta", "app_label": "djcelery"}, "model": "contenttypes.contenttype", "pk": 10}, {"fields": {"model": "intervalschedule", "app_label": "djcelery"}, "model": "contenttypes.contenttype", "pk": 11}, {"fields": {"model": "crontabschedule", "app_label": "djcelery"}, "model": "contenttypes.contenttype", "pk": 12}, {"fields": {"model": "periodictasks", "app_label": "djcelery"}, "model": "contenttypes.contenttype", "pk": 13}, {"fields": {"model": "periodictask", "app_label": "djcelery"}, "model": "contenttypes.contenttype", "pk": 14}, {"fields": {"model": "workerstate", "app_label": "djcelery"}, "model": "contenttypes.contenttype", "pk": 15}, {"fields": {"model": "taskstate", "app_label": "djcelery"}, "model": "contenttypes.contenttype", "pk": 16}, {"fields": {"model": "flag", "app_label": "waffle"}, "model": "contenttypes.contenttype", "pk": 17}, {"fields": {"model": "switch", "app_label": "waffle"}, "model": "contenttypes.contenttype", "pk": 18}, {"fields": {"model": "sample", "app_label": "waffle"}, "model": "contenttypes.contenttype", "pk": 19}, {"fields": {"model": "globalstatusmessage", "app_label": "status"}, "model": "contenttypes.contenttype", "pk": 20}, {"fields": {"model": "coursemessage", "app_label": "status"}, "model": "contenttypes.contenttype", "pk": 21}, {"fields": {"model": "assetbaseurlconfig", "app_label": "static_replace"}, "model": "contenttypes.contenttype", "pk": 22}, {"fields": {"model": "assetexcludedextensionsconfig", "app_label": "static_replace"}, "model": "contenttypes.contenttype", "pk": 23}, {"fields": {"model": "courseassetcachettlconfig", "app_label": "contentserver"}, "model": "contenttypes.contenttype", "pk": 24}, {"fields": {"model": "cdnuseragentsconfig", "app_label": "contentserver"}, "model": "contenttypes.contenttype", "pk": 25}, {"fields": {"model": "sitetheme", "app_label": "theming"}, "model": "contenttypes.contenttype", "pk": 26}, {"fields": {"model": "siteconfiguration", "app_label": "site_configuration"}, "model": "contenttypes.contenttype", "pk": 27}, {"fields": {"model": "siteconfigurationhistory", "app_label": "site_configuration"}, "model": "contenttypes.contenttype", "pk": 28}, {"fields": {"model": "studentmodule", "app_label": "courseware"}, "model": "contenttypes.contenttype", "pk": 29}, {"fields": {"model": "studentmodulehistory", "app_label": "courseware"}, "model": "contenttypes.contenttype", "pk": 30}, {"fields": {"model": "xmoduleuserstatesummaryfield", "app_label": "courseware"}, "model": "contenttypes.contenttype", "pk": 31}, {"fields": {"model": "xmodulestudentprefsfield", "app_label": "courseware"}, "model": "contenttypes.contenttype", "pk": 32}, {"fields": {"model": "xmodulestudentinfofield", "app_label": "courseware"}, "model": "contenttypes.contenttype", "pk": 33}, {"fields": {"model": "offlinecomputedgrade", "app_label": "courseware"}, "model": "contenttypes.contenttype", "pk": 34}, {"fields": {"model": "offlinecomputedgradelog", "app_label": "courseware"}, "model": "contenttypes.contenttype", "pk": 35}, {"fields": {"model": "studentfieldoverride", "app_label": "courseware"}, "model": "contenttypes.contenttype", "pk": 36}, {"fields": {"model": "anonymoususerid", "app_label": "student"}, "model": "contenttypes.contenttype", "pk": 37}, {"fields": {"model": "userstanding", "app_label": "student"}, "model": "contenttypes.contenttype", "pk": 38}, {"fields": {"model": "userprofile", "app_label": "student"}, "model": "contenttypes.contenttype", "pk": 39}, {"fields": {"model": "usersignupsource", "app_label": "student"}, "model": "contenttypes.contenttype", "pk": 40}, {"fields": {"model": "usertestgroup", "app_label": "student"}, "model": "contenttypes.contenttype", "pk": 41}, {"fields": {"model": "registration", "app_label": "student"}, "model": "contenttypes.contenttype", "pk": 42}, {"fields": {"model": "pendingnamechange", "app_label": "student"}, "model": "contenttypes.contenttype", "pk": 43}, {"fields": {"model": "pendingemailchange", "app_label": "student"}, "model": "contenttypes.contenttype", "pk": 44}, {"fields": {"model": "passwordhistory", "app_label": "student"}, "model": "contenttypes.contenttype", "pk": 45}, {"fields": {"model": "loginfailures", "app_label": "student"}, "model": "contenttypes.contenttype", "pk": 46}, {"fields": {"model": "historicalcourseenrollment", "app_label": "student"}, "model": "contenttypes.contenttype", "pk": 47}, {"fields": {"model": "courseenrollment", "app_label": "student"}, "model": "contenttypes.contenttype", "pk": 48}, {"fields": {"model": "manualenrollmentaudit", "app_label": "student"}, "model": "contenttypes.contenttype", "pk": 49}, {"fields": {"model": "courseenrollmentallowed", "app_label": "student"}, "model": "contenttypes.contenttype", "pk": 50}, {"fields": {"model": "courseaccessrole", "app_label": "student"}, "model": "contenttypes.contenttype", "pk": 51}, {"fields": {"model": "dashboardconfiguration", "app_label": "student"}, "model": "contenttypes.contenttype", "pk": 52}, {"fields": {"model": "linkedinaddtoprofileconfiguration", "app_label": "student"}, "model": "contenttypes.contenttype", "pk": 53}, {"fields": {"model": "entranceexamconfiguration", "app_label": "student"}, "model": "contenttypes.contenttype", "pk": 54}, {"fields": {"model": "languageproficiency", "app_label": "student"}, "model": "contenttypes.contenttype", "pk": 55}, {"fields": {"model": "courseenrollmentattribute", "app_label": "student"}, "model": "contenttypes.contenttype", "pk": 56}, {"fields": {"model": "enrollmentrefundconfiguration", "app_label": "student"}, "model": "contenttypes.contenttype", "pk": 57}, {"fields": {"model": "registrationcookieconfiguration", "app_label": "student"}, "model": "contenttypes.contenttype", "pk": 58}, {"fields": {"model": "userattribute", "app_label": "student"}, "model": "contenttypes.contenttype", "pk": 59}, {"fields": {"model": "logoutviewconfiguration", "app_label": "student"}, "model": "contenttypes.contenttype", "pk": 60}, {"fields": {"model": "trackinglog", "app_label": "track"}, "model": "contenttypes.contenttype", "pk": 61}, {"fields": {"model": "ratelimitconfiguration", "app_label": "util"}, "model": "contenttypes.contenttype", "pk": 62}, {"fields": {"model": "certificatewhitelist", "app_label": "certificates"}, "model": "contenttypes.contenttype", "pk": 63}, {"fields": {"model": "generatedcertificate", "app_label": "certificates"}, "model": "contenttypes.contenttype", "pk": 64}, {"fields": {"model": "certificategenerationhistory", "app_label": "certificates"}, "model": "contenttypes.contenttype", "pk": 65}, {"fields": {"model": "certificateinvalidation", "app_label": "certificates"}, "model": "contenttypes.contenttype", "pk": 66}, {"fields": {"model": "examplecertificateset", "app_label": "certificates"}, "model": "contenttypes.contenttype", "pk": 67}, {"fields": {"model": "examplecertificate", "app_label": "certificates"}, "model": "contenttypes.contenttype", "pk": 68}, {"fields": {"model": "certificategenerationcoursesetting", "app_label": "certificates"}, "model": "contenttypes.contenttype", "pk": 69}, {"fields": {"model": "certificategenerationconfiguration", "app_label": "certificates"}, "model": "contenttypes.contenttype", "pk": 70}, {"fields": {"model": "certificatehtmlviewconfiguration", "app_label": "certificates"}, "model": "contenttypes.contenttype", "pk": 71}, {"fields": {"model": "certificatetemplate", "app_label": "certificates"}, "model": "contenttypes.contenttype", "pk": 72}, {"fields": {"model": "certificatetemplateasset", "app_label": "certificates"}, "model": "contenttypes.contenttype", "pk": 73}, {"fields": {"model": "instructortask", "app_label": "instructor_task"}, "model": "contenttypes.contenttype", "pk": 74}, {"fields": {"model": "gradereportsetting", "app_label": "instructor_task"}, "model": "contenttypes.contenttype", "pk": 75}, {"fields": {"model": "courseusergroup", "app_label": "course_groups"}, "model": "contenttypes.contenttype", "pk": 76}, {"fields": {"model": "cohortmembership", "app_label": "course_groups"}, "model": "contenttypes.contenttype", "pk": 77}, {"fields": {"model": "courseusergrouppartitiongroup", "app_label": "course_groups"}, "model": "contenttypes.contenttype", "pk": 78}, {"fields": {"model": "coursecohortssettings", "app_label": "course_groups"}, "model": "contenttypes.contenttype", "pk": 79}, {"fields": {"model": "coursecohort", "app_label": "course_groups"}, "model": "contenttypes.contenttype", "pk": 80}, {"fields": {"model": "target", "app_label": "bulk_email"}, "model": "contenttypes.contenttype", "pk": 81}, {"fields": {"model": "cohorttarget", "app_label": "bulk_email"}, "model": "contenttypes.contenttype", "pk": 82}, {"fields": {"model": "coursemodetarget", "app_label": "bulk_email"}, "model": "contenttypes.contenttype", "pk": 83}, {"fields": {"model": "courseemail", "app_label": "bulk_email"}, "model": "contenttypes.contenttype", "pk": 84}, {"fields": {"model": "optout", "app_label": "bulk_email"}, "model": "contenttypes.contenttype", "pk": 85}, {"fields": {"model": "courseemailtemplate", "app_label": "bulk_email"}, "model": "contenttypes.contenttype", "pk": 86}, {"fields": {"model": "courseauthorization", "app_label": "bulk_email"}, "model": "contenttypes.contenttype", "pk": 87}, {"fields": {"model": "bulkemailflag", "app_label": "bulk_email"}, "model": "contenttypes.contenttype", "pk": 88}, {"fields": {"model": "brandinginfoconfig", "app_label": "branding"}, "model": "contenttypes.contenttype", "pk": 89}, {"fields": {"model": "brandingapiconfig", "app_label": "branding"}, "model": "contenttypes.contenttype", "pk": 90}, {"fields": {"model": "persistentgradesenabledflag", "app_label": "grades"}, "model": "contenttypes.contenttype", "pk": 91}, {"fields": {"model": "coursepersistentgradesflag", "app_label": "grades"}, "model": "contenttypes.contenttype", "pk": 92}, {"fields": {"model": "computegradessetting", "app_label": "grades"}, "model": "contenttypes.contenttype", "pk": 93}, {"fields": {"model": "visibleblocks", "app_label": "grades"}, "model": "contenttypes.contenttype", "pk": 94}, {"fields": {"model": "persistentsubsectiongrade", "app_label": "grades"}, "model": "contenttypes.contenttype", "pk": 95}, {"fields": {"model": "persistentcoursegrade", "app_label": "grades"}, "model": "contenttypes.contenttype", "pk": 96}, {"fields": {"model": "externalauthmap", "app_label": "external_auth"}, "model": "contenttypes.contenttype", "pk": 97}, {"fields": {"model": "nonce", "app_label": "django_openid_auth"}, "model": "contenttypes.contenttype", "pk": 98}, {"fields": {"model": "association", "app_label": "django_openid_auth"}, "model": "contenttypes.contenttype", "pk": 99}, {"fields": {"model": "useropenid", "app_label": "django_openid_auth"}, "model": "contenttypes.contenttype", "pk": 100}, {"fields": {"model": "client", "app_label": "oauth2"}, "model": "contenttypes.contenttype", "pk": 101}, {"fields": {"model": "grant", "app_label": "oauth2"}, "model": "contenttypes.contenttype", "pk": 102}, {"fields": {"model": "accesstoken", "app_label": "oauth2"}, "model": "contenttypes.contenttype", "pk": 103}, {"fields": {"model": "refreshtoken", "app_label": "oauth2"}, "model": "contenttypes.contenttype", "pk": 104}, {"fields": {"model": "trustedclient", "app_label": "edx_oauth2_provider"}, "model": "contenttypes.contenttype", "pk": 105}, {"fields": {"model": "application", "app_label": "oauth2_provider"}, "model": "contenttypes.contenttype", "pk": 106}, {"fields": {"model": "grant", "app_label": "oauth2_provider"}, "model": "contenttypes.contenttype", "pk": 107}, {"fields": {"model": "accesstoken", "app_label": "oauth2_provider"}, "model": "contenttypes.contenttype", "pk": 108}, {"fields": {"model": "refreshtoken", "app_label": "oauth2_provider"}, "model": "contenttypes.contenttype", "pk": 109}, {"fields": {"model": "restrictedapplication", "app_label": "oauth_dispatch"}, "model": "contenttypes.contenttype", "pk": 110}, {"fields": {"model": "oauth2providerconfig", "app_label": "third_party_auth"}, "model": "contenttypes.contenttype", "pk": 111}, {"fields": {"model": "samlproviderconfig", "app_label": "third_party_auth"}, "model": "contenttypes.contenttype", "pk": 112}, {"fields": {"model": "samlconfiguration", "app_label": "third_party_auth"}, "model": "contenttypes.contenttype", "pk": 113}, {"fields": {"model": "samlproviderdata", "app_label": "third_party_auth"}, "model": "contenttypes.contenttype", "pk": 114}, {"fields": {"model": "ltiproviderconfig", "app_label": "third_party_auth"}, "model": "contenttypes.contenttype", "pk": 115}, {"fields": {"model": "providerapipermissions", "app_label": "third_party_auth"}, "model": "contenttypes.contenttype", "pk": 116}, {"fields": {"model": "nonce", "app_label": "oauth_provider"}, "model": "contenttypes.contenttype", "pk": 117}, {"fields": {"model": "scope", "app_label": "oauth_provider"}, "model": "contenttypes.contenttype", "pk": 118}, {"fields": {"model": "consumer", "app_label": "oauth_provider"}, "model": "contenttypes.contenttype", "pk": 119}, {"fields": {"model": "token", "app_label": "oauth_provider"}, "model": "contenttypes.contenttype", "pk": 120}, {"fields": {"model": "resource", "app_label": "oauth_provider"}, "model": "contenttypes.contenttype", "pk": 121}, {"fields": {"model": "article", "app_label": "wiki"}, "model": "contenttypes.contenttype", "pk": 122}, {"fields": {"model": "articleforobject", "app_label": "wiki"}, "model": "contenttypes.contenttype", "pk": 123}, {"fields": {"model": "articlerevision", "app_label": "wiki"}, "model": "contenttypes.contenttype", "pk": 124}, {"fields": {"model": "urlpath", "app_label": "wiki"}, "model": "contenttypes.contenttype", "pk": 125}, {"fields": {"model": "articleplugin", "app_label": "wiki"}, "model": "contenttypes.contenttype", "pk": 126}, {"fields": {"model": "reusableplugin", "app_label": "wiki"}, "model": "contenttypes.contenttype", "pk": 127}, {"fields": {"model": "simpleplugin", "app_label": "wiki"}, "model": "contenttypes.contenttype", "pk": 128}, {"fields": {"model": "revisionplugin", "app_label": "wiki"}, "model": "contenttypes.contenttype", "pk": 129}, {"fields": {"model": "revisionpluginrevision", "app_label": "wiki"}, "model": "contenttypes.contenttype", "pk": 130}, {"fields": {"model": "image", "app_label": "wiki"}, "model": "contenttypes.contenttype", "pk": 131}, {"fields": {"model": "imagerevision", "app_label": "wiki"}, "model": "contenttypes.contenttype", "pk": 132}, {"fields": {"model": "attachment", "app_label": "wiki"}, "model": "contenttypes.contenttype", "pk": 133}, {"fields": {"model": "attachmentrevision", "app_label": "wiki"}, "model": "contenttypes.contenttype", "pk": 134}, {"fields": {"model": "notificationtype", "app_label": "django_notify"}, "model": "contenttypes.contenttype", "pk": 135}, {"fields": {"model": "settings", "app_label": "django_notify"}, "model": "contenttypes.contenttype", "pk": 136}, {"fields": {"model": "subscription", "app_label": "django_notify"}, "model": "contenttypes.contenttype", "pk": 137}, {"fields": {"model": "notification", "app_label": "django_notify"}, "model": "contenttypes.contenttype", "pk": 138}, {"fields": {"model": "logentry", "app_label": "admin"}, "model": "contenttypes.contenttype", "pk": 139}, {"fields": {"model": "role", "app_label": "django_comment_common"}, "model": "contenttypes.contenttype", "pk": 140}, {"fields": {"model": "permission", "app_label": "django_comment_common"}, "model": "contenttypes.contenttype", "pk": 141}, {"fields": {"model": "forumsconfig", "app_label": "django_comment_common"}, "model": "contenttypes.contenttype", "pk": 142}, {"fields": {"model": "note", "app_label": "notes"}, "model": "contenttypes.contenttype", "pk": 143}, {"fields": {"model": "splashconfig", "app_label": "splash"}, "model": "contenttypes.contenttype", "pk": 144}, {"fields": {"model": "userpreference", "app_label": "user_api"}, "model": "contenttypes.contenttype", "pk": 145}, {"fields": {"model": "usercoursetag", "app_label": "user_api"}, "model": "contenttypes.contenttype", "pk": 146}, {"fields": {"model": "userorgtag", "app_label": "user_api"}, "model": "contenttypes.contenttype", "pk": 147}, {"fields": {"model": "order", "app_label": "shoppingcart"}, "model": "contenttypes.contenttype", "pk": 148}, {"fields": {"model": "orderitem", "app_label": "shoppingcart"}, "model": "contenttypes.contenttype", "pk": 149}, {"fields": {"model": "invoice", "app_label": "shoppingcart"}, "model": "contenttypes.contenttype", "pk": 150}, {"fields": {"model": "invoicetransaction", "app_label": "shoppingcart"}, "model": "contenttypes.contenttype", "pk": 151}, {"fields": {"model": "invoiceitem", "app_label": "shoppingcart"}, "model": "contenttypes.contenttype", "pk": 152}, {"fields": {"model": "courseregistrationcodeinvoiceitem", "app_label": "shoppingcart"}, "model": "contenttypes.contenttype", "pk": 153}, {"fields": {"model": "invoicehistory", "app_label": "shoppingcart"}, "model": "contenttypes.contenttype", "pk": 154}, {"fields": {"model": "courseregistrationcode", "app_label": "shoppingcart"}, "model": "contenttypes.contenttype", "pk": 155}, {"fields": {"model": "registrationcoderedemption", "app_label": "shoppingcart"}, "model": "contenttypes.contenttype", "pk": 156}, {"fields": {"model": "coupon", "app_label": "shoppingcart"}, "model": "contenttypes.contenttype", "pk": 157}, {"fields": {"model": "couponredemption", "app_label": "shoppingcart"}, "model": "contenttypes.contenttype", "pk": 158}, {"fields": {"model": "paidcourseregistration", "app_label": "shoppingcart"}, "model": "contenttypes.contenttype", "pk": 159}, {"fields": {"model": "courseregcodeitem", "app_label": "shoppingcart"}, "model": "contenttypes.contenttype", "pk": 160}, {"fields": {"model": "courseregcodeitemannotation", "app_label": "shoppingcart"}, "model": "contenttypes.contenttype", "pk": 161}, {"fields": {"model": "paidcourseregistrationannotation", "app_label": "shoppingcart"}, "model": "contenttypes.contenttype", "pk": 162}, {"fields": {"model": "certificateitem", "app_label": "shoppingcart"}, "model": "contenttypes.contenttype", "pk": 163}, {"fields": {"model": "donationconfiguration", "app_label": "shoppingcart"}, "model": "contenttypes.contenttype", "pk": 164}, {"fields": {"model": "donation", "app_label": "shoppingcart"}, "model": "contenttypes.contenttype", "pk": 165}, {"fields": {"model": "coursemode", "app_label": "course_modes"}, "model": "contenttypes.contenttype", "pk": 166}, {"fields": {"model": "coursemodesarchive", "app_label": "course_modes"}, "model": "contenttypes.contenttype", "pk": 167}, {"fields": {"model": "coursemodeexpirationconfig", "app_label": "course_modes"}, "model": "contenttypes.contenttype", "pk": 168}, {"fields": {"model": "softwaresecurephotoverification", "app_label": "verify_student"}, "model": "contenttypes.contenttype", "pk": 169}, {"fields": {"model": "historicalverificationdeadline", "app_label": "verify_student"}, "model": "contenttypes.contenttype", "pk": 170}, {"fields": {"model": "verificationdeadline", "app_label": "verify_student"}, "model": "contenttypes.contenttype", "pk": 171}, {"fields": {"model": "verificationcheckpoint", "app_label": "verify_student"}, "model": "contenttypes.contenttype", "pk": 172}, {"fields": {"model": "verificationstatus", "app_label": "verify_student"}, "model": "contenttypes.contenttype", "pk": 173}, {"fields": {"model": "incoursereverificationconfiguration", "app_label": "verify_student"}, "model": "contenttypes.contenttype", "pk": 174}, {"fields": {"model": "icrvstatusemailsconfiguration", "app_label": "verify_student"}, "model": "contenttypes.contenttype", "pk": 175}, {"fields": {"model": "skippedreverification", "app_label": "verify_student"}, "model": "contenttypes.contenttype", "pk": 176}, {"fields": {"model": "darklangconfig", "app_label": "dark_lang"}, "model": "contenttypes.contenttype", "pk": 177}, {"fields": {"model": "microsite", "app_label": "microsite_configuration"}, "model": "contenttypes.contenttype", "pk": 178}, {"fields": {"model": "micrositehistory", "app_label": "microsite_configuration"}, "model": "contenttypes.contenttype", "pk": 179}, {"fields": {"model": "historicalmicrositeorganizationmapping", "app_label": "microsite_configuration"}, "model": "contenttypes.contenttype", "pk": 180}, {"fields": {"model": "micrositeorganizationmapping", "app_label": "microsite_configuration"}, "model": "contenttypes.contenttype", "pk": 181}, {"fields": {"model": "historicalmicrositetemplate", "app_label": "microsite_configuration"}, "model": "contenttypes.contenttype", "pk": 182}, {"fields": {"model": "micrositetemplate", "app_label": "microsite_configuration"}, "model": "contenttypes.contenttype", "pk": 183}, {"fields": {"model": "whitelistedrssurl", "app_label": "rss_proxy"}, "model": "contenttypes.contenttype", "pk": 184}, {"fields": {"model": "embargoedcourse", "app_label": "embargo"}, "model": "contenttypes.contenttype", "pk": 185}, {"fields": {"model": "embargoedstate", "app_label": "embargo"}, "model": "contenttypes.contenttype", "pk": 186}, {"fields": {"model": "restrictedcourse", "app_label": "embargo"}, "model": "contenttypes.contenttype", "pk": 187}, {"fields": {"model": "country", "app_label": "embargo"}, "model": "contenttypes.contenttype", "pk": 188}, {"fields": {"model": "countryaccessrule", "app_label": "embargo"}, "model": "contenttypes.contenttype", "pk": 189}, {"fields": {"model": "courseaccessrulehistory", "app_label": "embargo"}, "model": "contenttypes.contenttype", "pk": 190}, {"fields": {"model": "ipfilter", "app_label": "embargo"}, "model": "contenttypes.contenttype", "pk": 191}, {"fields": {"model": "coursererunstate", "app_label": "course_action_state"}, "model": "contenttypes.contenttype", "pk": 192}, {"fields": {"model": "mobileapiconfig", "app_label": "mobile_api"}, "model": "contenttypes.contenttype", "pk": 193}, {"fields": {"model": "appversionconfig", "app_label": "mobile_api"}, "model": "contenttypes.contenttype", "pk": 194}, {"fields": {"model": "ignoremobileavailableflagconfig", "app_label": "mobile_api"}, "model": "contenttypes.contenttype", "pk": 195}, {"fields": {"model": "usersocialauth", "app_label": "social_auth"}, "model": "contenttypes.contenttype", "pk": 196}, {"fields": {"model": "nonce", "app_label": "social_auth"}, "model": "contenttypes.contenttype", "pk": 197}, {"fields": {"model": "association", "app_label": "social_auth"}, "model": "contenttypes.contenttype", "pk": 198}, {"fields": {"model": "code", "app_label": "social_auth"}, "model": "contenttypes.contenttype", "pk": 199}, {"fields": {"model": "surveyform", "app_label": "survey"}, "model": "contenttypes.contenttype", "pk": 200}, {"fields": {"model": "surveyanswer", "app_label": "survey"}, "model": "contenttypes.contenttype", "pk": 201}, {"fields": {"model": "xblockasidesconfig", "app_label": "lms_xblock"}, "model": "contenttypes.contenttype", "pk": 202}, {"fields": {"model": "courseoverview", "app_label": "course_overviews"}, "model": "contenttypes.contenttype", "pk": 203}, {"fields": {"model": "courseoverviewtab", "app_label": "course_overviews"}, "model": "contenttypes.contenttype", "pk": 204}, {"fields": {"model": "courseoverviewimageset", "app_label": "course_overviews"}, "model": "contenttypes.contenttype", "pk": 205}, {"fields": {"model": "courseoverviewimageconfig", "app_label": "course_overviews"}, "model": "contenttypes.contenttype", "pk": 206}, {"fields": {"model": "coursestructure", "app_label": "course_structures"}, "model": "contenttypes.contenttype", "pk": 207}, {"fields": {"model": "blockstructureconfiguration", "app_label": "block_structure"}, "model": "contenttypes.contenttype", "pk": 208}, {"fields": {"model": "blockstructuremodel", "app_label": "block_structure"}, "model": "contenttypes.contenttype", "pk": 209}, {"fields": {"model": "corsmodel", "app_label": "corsheaders"}, "model": "contenttypes.contenttype", "pk": 210}, {"fields": {"model": "xdomainproxyconfiguration", "app_label": "cors_csrf"}, "model": "contenttypes.contenttype", "pk": 211}, {"fields": {"model": "commerceconfiguration", "app_label": "commerce"}, "model": "contenttypes.contenttype", "pk": 212}, {"fields": {"model": "creditprovider", "app_label": "credit"}, "model": "contenttypes.contenttype", "pk": 213}, {"fields": {"model": "creditcourse", "app_label": "credit"}, "model": "contenttypes.contenttype", "pk": 214}, {"fields": {"model": "creditrequirement", "app_label": "credit"}, "model": "contenttypes.contenttype", "pk": 215}, {"fields": {"model": "historicalcreditrequirementstatus", "app_label": "credit"}, "model": "contenttypes.contenttype", "pk": 216}, {"fields": {"model": "creditrequirementstatus", "app_label": "credit"}, "model": "contenttypes.contenttype", "pk": 217}, {"fields": {"model": "crediteligibility", "app_label": "credit"}, "model": "contenttypes.contenttype", "pk": 218}, {"fields": {"model": "historicalcreditrequest", "app_label": "credit"}, "model": "contenttypes.contenttype", "pk": 219}, {"fields": {"model": "creditrequest", "app_label": "credit"}, "model": "contenttypes.contenttype", "pk": 220}, {"fields": {"model": "creditconfig", "app_label": "credit"}, "model": "contenttypes.contenttype", "pk": 221}, {"fields": {"model": "courseteam", "app_label": "teams"}, "model": "contenttypes.contenttype", "pk": 222}, {"fields": {"model": "courseteammembership", "app_label": "teams"}, "model": "contenttypes.contenttype", "pk": 223}, {"fields": {"model": "xblockconfiguration", "app_label": "xblock_django"}, "model": "contenttypes.contenttype", "pk": 224}, {"fields": {"model": "xblockstudioconfigurationflag", "app_label": "xblock_django"}, "model": "contenttypes.contenttype", "pk": 225}, {"fields": {"model": "xblockstudioconfiguration", "app_label": "xblock_django"}, "model": "contenttypes.contenttype", "pk": 226}, {"fields": {"model": "bookmark", "app_label": "bookmarks"}, "model": "contenttypes.contenttype", "pk": 227}, {"fields": {"model": "xblockcache", "app_label": "bookmarks"}, "model": "contenttypes.contenttype", "pk": 228}, {"fields": {"model": "programsapiconfig", "app_label": "programs"}, "model": "contenttypes.contenttype", "pk": 229}, {"fields": {"model": "catalogintegration", "app_label": "catalog"}, "model": "contenttypes.contenttype", "pk": 230}, {"fields": {"model": "selfpacedconfiguration", "app_label": "self_paced"}, "model": "contenttypes.contenttype", "pk": 231}, {"fields": {"model": "kvstore", "app_label": "thumbnail"}, "model": "contenttypes.contenttype", "pk": 232}, {"fields": {"model": "credentialsapiconfig", "app_label": "credentials"}, "model": "contenttypes.contenttype", "pk": 233}, {"fields": {"model": "milestone", "app_label": "milestones"}, "model": "contenttypes.contenttype", "pk": 234}, {"fields": {"model": "milestonerelationshiptype", "app_label": "milestones"}, "model": "contenttypes.contenttype", "pk": 235}, {"fields": {"model": "coursemilestone", "app_label": "milestones"}, "model": "contenttypes.contenttype", "pk": 236}, {"fields": {"model": "coursecontentmilestone", "app_label": "milestones"}, "model": "contenttypes.contenttype", "pk": 237}, {"fields": {"model": "usermilestone", "app_label": "milestones"}, "model": "contenttypes.contenttype", "pk": 238}, {"fields": {"model": "coursetalkwidgetconfiguration", "app_label": "coursetalk"}, "model": "contenttypes.contenttype", "pk": 239}, {"fields": {"model": "historicalapiaccessrequest", "app_label": "api_admin"}, "model": "contenttypes.contenttype", "pk": 240}, {"fields": {"model": "apiaccessconfig", "app_label": "api_admin"}, "model": "contenttypes.contenttype", "pk": 241}, {"fields": {"model": "catalog", "app_label": "api_admin"}, "model": "contenttypes.contenttype", "pk": 242}, {"fields": {"model": "verifiedtrackcohortedcourse", "app_label": "verified_track_content"}, "model": "contenttypes.contenttype", "pk": 243}, {"fields": {"model": "hlsplaybackenabledflag", "app_label": "video_config"}, "model": "contenttypes.contenttype", "pk": 244}, {"fields": {"model": "coursehlsplaybackenabledflag", "app_label": "video_config"}, "model": "contenttypes.contenttype", "pk": 245}, {"fields": {"model": "badgeclass", "app_label": "badges"}, "model": "contenttypes.contenttype", "pk": 246}, {"fields": {"model": "badgeassertion", "app_label": "badges"}, "model": "contenttypes.contenttype", "pk": 247}, {"fields": {"model": "coursecompleteimageconfiguration", "app_label": "badges"}, "model": "contenttypes.contenttype", "pk": 248}, {"fields": {"model": "courseeventbadgesconfiguration", "app_label": "badges"}, "model": "contenttypes.contenttype", "pk": 249}, {"fields": {"model": "emailmarketingconfiguration", "app_label": "email_marketing"}, "model": "contenttypes.contenttype", "pk": 250}, {"fields": {"model": "failedtask", "app_label": "celery_utils"}, "model": "contenttypes.contenttype", "pk": 251}, {"fields": {"model": "chorddata", "app_label": "celery_utils"}, "model": "contenttypes.contenttype", "pk": 252}, {"fields": {"model": "crawlersconfig", "app_label": "crawlers"}, "model": "contenttypes.contenttype", "pk": 253}, {"fields": {"model": "waffleflagcourseoverridemodel", "app_label": "waffle_utils"}, "model": "contenttypes.contenttype", "pk": 254}, {"fields": {"model": "studentitem", "app_label": "submissions"}, "model": "contenttypes.contenttype", "pk": 255}, {"fields": {"model": "submission", "app_label": "submissions"}, "model": "contenttypes.contenttype", "pk": 256}, {"fields": {"model": "score", "app_label": "submissions"}, "model": "contenttypes.contenttype", "pk": 257}, {"fields": {"model": "scoresummary", "app_label": "submissions"}, "model": "contenttypes.contenttype", "pk": 258}, {"fields": {"model": "scoreannotation", "app_label": "submissions"}, "model": "contenttypes.contenttype", "pk": 259}, {"fields": {"model": "rubric", "app_label": "assessment"}, "model": "contenttypes.contenttype", "pk": 260}, {"fields": {"model": "criterion", "app_label": "assessment"}, "model": "contenttypes.contenttype", "pk": 261}, {"fields": {"model": "criterionoption", "app_label": "assessment"}, "model": "contenttypes.contenttype", "pk": 262}, {"fields": {"model": "assessment", "app_label": "assessment"}, "model": "contenttypes.contenttype", "pk": 263}, {"fields": {"model": "assessmentpart", "app_label": "assessment"}, "model": "contenttypes.contenttype", "pk": 264}, {"fields": {"model": "assessmentfeedbackoption", "app_label": "assessment"}, "model": "contenttypes.contenttype", "pk": 265}, {"fields": {"model": "assessmentfeedback", "app_label": "assessment"}, "model": "contenttypes.contenttype", "pk": 266}, {"fields": {"model": "peerworkflow", "app_label": "assessment"}, "model": "contenttypes.contenttype", "pk": 267}, {"fields": {"model": "peerworkflowitem", "app_label": "assessment"}, "model": "contenttypes.contenttype", "pk": 268}, {"fields": {"model": "trainingexample", "app_label": "assessment"}, "model": "contenttypes.contenttype", "pk": 269}, {"fields": {"model": "studenttrainingworkflow", "app_label": "assessment"}, "model": "contenttypes.contenttype", "pk": 270}, {"fields": {"model": "studenttrainingworkflowitem", "app_label": "assessment"}, "model": "contenttypes.contenttype", "pk": 271}, {"fields": {"model": "aiclassifierset", "app_label": "assessment"}, "model": "contenttypes.contenttype", "pk": 272}, {"fields": {"model": "aiclassifier", "app_label": "assessment"}, "model": "contenttypes.contenttype", "pk": 273}, {"fields": {"model": "aitrainingworkflow", "app_label": "assessment"}, "model": "contenttypes.contenttype", "pk": 274}, {"fields": {"model": "aigradingworkflow", "app_label": "assessment"}, "model": "contenttypes.contenttype", "pk": 275}, {"fields": {"model": "staffworkflow", "app_label": "assessment"}, "model": "contenttypes.contenttype", "pk": 276}, {"fields": {"model": "assessmentworkflow", "app_label": "workflow"}, "model": "contenttypes.contenttype", "pk": 277}, {"fields": {"model": "assessmentworkflowstep", "app_label": "workflow"}, "model": "contenttypes.contenttype", "pk": 278}, {"fields": {"model": "assessmentworkflowcancellation", "app_label": "workflow"}, "model": "contenttypes.contenttype", "pk": 279}, {"fields": {"model": "profile", "app_label": "edxval"}, "model": "contenttypes.contenttype", "pk": 280}, {"fields": {"model": "video", "app_label": "edxval"}, "model": "contenttypes.contenttype", "pk": 281}, {"fields": {"model": "coursevideo", "app_label": "edxval"}, "model": "contenttypes.contenttype", "pk": 282}, {"fields": {"model": "encodedvideo", "app_label": "edxval"}, "model": "contenttypes.contenttype", "pk": 283}, {"fields": {"model": "subtitle", "app_label": "edxval"}, "model": "contenttypes.contenttype", "pk": 284}, {"fields": {"model": "proctoredexam", "app_label": "edx_proctoring"}, "model": "contenttypes.contenttype", "pk": 285}, {"fields": {"model": "proctoredexamreviewpolicy", "app_label": "edx_proctoring"}, "model": "contenttypes.contenttype", "pk": 286}, {"fields": {"model": "proctoredexamreviewpolicyhistory", "app_label": "edx_proctoring"}, "model": "contenttypes.contenttype", "pk": 287}, {"fields": {"model": "proctoredexamstudentattempt", "app_label": "edx_proctoring"}, "model": "contenttypes.contenttype", "pk": 288}, {"fields": {"model": "proctoredexamstudentattempthistory", "app_label": "edx_proctoring"}, "model": "contenttypes.contenttype", "pk": 289}, {"fields": {"model": "proctoredexamstudentallowance", "app_label": "edx_proctoring"}, "model": "contenttypes.contenttype", "pk": 290}, {"fields": {"model": "proctoredexamstudentallowancehistory", "app_label": "edx_proctoring"}, "model": "contenttypes.contenttype", "pk": 291}, {"fields": {"model": "proctoredexamsoftwaresecurereview", "app_label": "edx_proctoring"}, "model": "contenttypes.contenttype", "pk": 292}, {"fields": {"model": "proctoredexamsoftwaresecurereviewhistory", "app_label": "edx_proctoring"}, "model": "contenttypes.contenttype", "pk": 293}, {"fields": {"model": "proctoredexamsoftwaresecurecomment", "app_label": "edx_proctoring"}, "model": "contenttypes.contenttype", "pk": 294}, {"fields": {"model": "organization", "app_label": "organizations"}, "model": "contenttypes.contenttype", "pk": 295}, {"fields": {"model": "organizationcourse", "app_label": "organizations"}, "model": "contenttypes.contenttype", "pk": 296}, {"fields": {"model": "historicalenterprisecustomer", "app_label": "enterprise"}, "model": "contenttypes.contenttype", "pk": 297}, {"fields": {"model": "enterprisecustomer", "app_label": "enterprise"}, "model": "contenttypes.contenttype", "pk": 298}, {"fields": {"model": "enterprisecustomeruser", "app_label": "enterprise"}, "model": "contenttypes.contenttype", "pk": 299}, {"fields": {"model": "pendingenterprisecustomeruser", "app_label": "enterprise"}, "model": "contenttypes.contenttype", "pk": 300}, {"fields": {"model": "pendingenrollment", "app_label": "enterprise"}, "model": "contenttypes.contenttype", "pk": 301}, {"fields": {"model": "enterprisecustomerbrandingconfiguration", "app_label": "enterprise"}, "model": "contenttypes.contenttype", "pk": 302}, {"fields": {"model": "enterprisecustomeridentityprovider", "app_label": "enterprise"}, "model": "contenttypes.contenttype", "pk": 303}, {"fields": {"model": "historicaluserdatasharingconsentaudit", "app_label": "enterprise"}, "model": "contenttypes.contenttype", "pk": 304}, {"fields": {"model": "userdatasharingconsentaudit", "app_label": "enterprise"}, "model": "contenttypes.contenttype", "pk": 305}, {"fields": {"model": "historicalenterprisecustomerentitlement", "app_label": "enterprise"}, "model": "contenttypes.contenttype", "pk": 306}, {"fields": {"model": "enterprisecustomerentitlement", "app_label": "enterprise"}, "model": "contenttypes.contenttype", "pk": 307}, {"fields": {"model": "historicalenterprisecourseenrollment", "app_label": "enterprise"}, "model": "contenttypes.contenttype", "pk": 308}, {"fields": {"model": "enterprisecourseenrollment", "app_label": "enterprise"}, "model": "contenttypes.contenttype", "pk": 309}, {"fields": {"model": "historicalenrollmentnotificationemailtemplate", "app_label": "enterprise"}, "model": "contenttypes.contenttype", "pk": 310}, {"fields": {"model": "enrollmentnotificationemailtemplate", "app_label": "enterprise"}, "model": "contenttypes.contenttype", "pk": 311}, {"fields": {"model": "enterpriseintegratedchannel", "app_label": "integrated_channel"}, "model": "contenttypes.contenttype", "pk": 312}, {"fields": {"model": "sapsuccessfactorsglobalconfiguration", "app_label": "sap_success_factors"}, "model": "contenttypes.contenttype", "pk": 313}, {"fields": {"model": "historicalsapsuccessfactorsenterprisecustomerconfiguration", "app_label": "sap_success_factors"}, "model": "contenttypes.contenttype", "pk": 314}, {"fields": {"model": "sapsuccessfactorsenterprisecustomerconfiguration", "app_label": "sap_success_factors"}, "model": "contenttypes.contenttype", "pk": 315}, {"fields": {"model": "learnerdatatransmissionaudit", "app_label": "sap_success_factors"}, "model": "contenttypes.contenttype", "pk": 316}, {"fields": {"model": "catalogtransmissionaudit", "app_label": "sap_success_factors"}, "model": "contenttypes.contenttype", "pk": 317}, {"fields": {"model": "customcourseforedx", "app_label": "ccx"}, "model": "contenttypes.contenttype", "pk": 318}, {"fields": {"model": "ccxfieldoverride", "app_label": "ccx"}, "model": "contenttypes.contenttype", "pk": 319}, {"fields": {"model": "ccxcon", "app_label": "ccxcon"}, "model": "contenttypes.contenttype", "pk": 320}, {"fields": {"model": "studentmodulehistoryextended", "app_label": "coursewarehistoryextended"}, "model": "contenttypes.contenttype", "pk": 321}, {"fields": {"model": "videouploadconfig", "app_label": "contentstore"}, "model": "contenttypes.contenttype", "pk": 322}, {"fields": {"model": "pushnotificationconfig", "app_label": "contentstore"}, "model": "contenttypes.contenttype", "pk": 323}, {"fields": {"model": "coursecreator", "app_label": "course_creators"}, "model": "contenttypes.contenttype", "pk": 324}, {"fields": {"model": "studioconfig", "app_label": "xblock_config"}, "model": "contenttypes.contenttype", "pk": 325}, {"fields": {"model": "courseeditltifieldsenabledflag", "app_label": "xblock_config"}, "model": "contenttypes.contenttype", "pk": 326}, {"fields": {"model": "tagcategories", "app_label": "tagging"}, "model": "contenttypes.contenttype", "pk": 327}, {"fields": {"model": "tagavailablevalues", "app_label": "tagging"}, "model": "contenttypes.contenttype", "pk": 328}, {"fields": {"model": "usertaskstatus", "app_label": "user_tasks"}, "model": "contenttypes.contenttype", "pk": 329}, {"fields": {"model": "usertaskartifact", "app_label": "user_tasks"}, "model": "contenttypes.contenttype", "pk": 330}, {"fields": {"domain": "example.com", "name": "example.com"}, "model": "sites.site", "pk": 1}, {"fields": {"plain_template": "{course_title}\n\n{{message_body}}\r\n----\r\nCopyright 2013 edX, All rights reserved.\r\n----\r\nConnect with edX:\r\nFacebook (http://facebook.com/edxonline)\r\nTwitter (http://twitter.com/edxonline)\r\nGoogle+ (https://plus.google.com/108235383044095082735)\r\nMeetup (http://www.meetup.com/edX-Communities/)\r\n----\r\nThis email was automatically sent from {platform_name}.\r\nYou are receiving this email at address {email} because you are enrolled in {course_title}\r\n(URL: {course_url} ).\r\nTo stop receiving email like this, update your course email settings at {email_settings_url}.\r\n", "html_template": "
Update from {course_title}