import csv import django import os import sys import json from datetime import datetime sys.path.append("../") os.environ.setdefault("DJANGO_SETTINGS_MODULE", "lms.settings") django.setup() from django.contrib.auth.models import Group from django.contrib.auth import get_user_model from access.models.other import Progress, PivotProgressVertex from course_service.courses.models import Vertex, Course from course_service.maps.api import OutApiRoute if __name__ == '__main__': Progress.objects.all().delete() with open('./access/progress.csv') as progress_csv: progress_reader = csv.DictReader(progress_csv) for row in progress_reader: route = Course.objects.get(id=row['course']).route.out_key api = OutApiRoute list_vertex = OutApiRoute.get_route_matrix(route)[0] try: user = get_user_model().objects.get(id=row['user']) p, c = Progress.objects.get_or_create( user=user, route=route, teacher=get_user_model().objects.get(id=row['teacher']), ) pivots = json.loads(row['success']) for pivot in pivots: pv = PivotProgressVertex.objects.create( progress=p, vertex=Vertex.objects.get(id=pivot['id']), teacher=get_user_model().objects.get(id=pivot['teacher']), status=1, ) if pivot['date']: pv.date = datetime(microsecond=pivot['date']) pv.status = 2 pv.save() g = Group.objects.get(name='students') g.user_set.add(user) except get_user_model().DoesNotExist: print(row['user'])