You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
22 lines
877 B
22 lines
877 B
import os, sys
|
|
import django, json
|
|
|
|
sys.path.append("../")
|
|
os.environ.setdefault("DJANGO_SETTINGS_MODULE", "lms.settings")
|
|
django.setup()
|
|
|
|
from courses.models import Course, NormalMap, CourseTheme, Lesson, Homework, Exam
|
|
|
|
if __name__ == '__main__':
|
|
for course in Course.objects.all():
|
|
tree = []
|
|
for theme in CourseTheme.objects.filter(course=course).order_by('sort'):
|
|
tree.append({'id': theme.id, 'body':
|
|
[str(i.id) + "_L" for i in Lesson.objects.filter(theme=theme).order_by('sort')] +
|
|
[str(i.id) + "_H" for i in Homework.objects.filter(theme=theme).order_by('sort')] +
|
|
[str(i.id) + "_E" for i in Exam.objects.filter(theme=theme).order_by('sort')]
|
|
})
|
|
|
|
obj, _is_create = NormalMap.objects.get_or_create(course=course)
|
|
obj.json_tree = json.dumps(tree)
|
|
obj.save() |