Openedx — добавление поля определения Mongo при создании курса

Я использую версию Ironwood и пытаюсь добавить полевую программу. Вызов переходит к функции create_course, и я обнаруживаю следующую ошибку.

File "/edx/app/edxapp/edx-platform/common/lib/xmodule/xmodule/modulestore/split_mongo/split.py", line 2007, in create_course
    search_targets, root_category, root_block_id, **kwargs
  File "/edx/app/edxapp/edx-platform/common/lib/xmodule/xmodule/modulestore/split_mongo/split.py", line 2022, in _create_courselike
    partitioned_fields = self.partition_fields_by_scope(root_category, fields)
  File "/edx/app/edxapp/edx-platform/common/lib/xmodule/xmodule/modulestore/__init__.py", line 1313, in partition_fields_by_scope
    field = getattr(cls, field_name)
AttributeError: type object 'CourseDescriptorWithMixins' has no attribute 'program'

Может ли кто-нибудь указать, что мне не хватает?


person Waleed Khan    schedule 30.11.2020    source источник


Ответы (1)


Я столкнулся с той же ошибкой, проблема была решена, когда я добавил поле 'program' в common/lib/xmodule/xmodule/course_module.py.

class CourseFields(object):
...
    program = String(
        display_name=_("Program"),
        help=_("Specify the program of course."),
        default=None,
        scope=Scope.settings
    )
...
person ARKhan    schedule 02.12.2020
comment
Спасибо. Это сработало. - person Waleed Khan; 07.12.2020