# coding=utf-8 import os import django import sys import simplejson as json sys.path.append("/var/www/projects/lms/") os.environ.setdefault("DJANGO_SETTINGS_MODULE", "lms.settings") django.setup() from __migrate.post_fixtures import show_progress from access.models import User, Subscription, ActionJ _fixture = json.load(open('fixtures/access.json')) user_pk = 1 users = [] subs = [] acts = [] actjs = [] # Пример записи маршрута pk_map = json.load(open('pk_maps.json')) if 'access.user' not in pk_map: pk_map['access.user'] = {} if 'access.subscription' not in pk_map: pk_map['access.subscription'] = {} if 'access.actionj' not in pk_map: pk_map['access.actionj'] = {} for i in _fixture: if i['model'] == 'access.user': users.append(i) elif i['model'] == 'access.subscription': subs.append(i) elif i['model'] == 'access.actionj': actjs.append(i) print u'\nUsers' _now = 0 big_len = len(users) show_progress(big_len, _now) for i in users: u = User.objects.create( password=i['fields']['password'], email=i['fields']['email'], changed_email=i['fields']['changed_email'], phone=i['fields']['phone'], back_phone=i['fields']['back_phone'], status=i['fields']['status'], in_role=i['fields']['in_role'], deactivate=i['fields']['deactivate'], city=i['fields']['city'], b_day=i['fields']['b_day'], token=i['fields']['token'], activate_time=i['fields']['activate_time'], reg_status=i['fields']['reg_status'], is_active=i['fields']['is_active'], is_admin=i['fields']['is_admin'], is_staff=i['fields']['is_staff'], avatar=i['fields']['avatar'], fname=i['fields']['fname'], name=i['fields']['name'], oname=i['fields']['oname'], skype='', facebook='', vk='', linkedin='', odnoklassniki='', date_joined=i['fields']['date_joined'] ) _now += 1 show_progress(big_len, _now) pk_map['access.user'][str(i['pk'])] = str(u.id) print u'\nSubscriptions' _now = 0 big_len = len(subs) show_progress(big_len, _now) for i in subs: s = Subscription.objects.create( owner=User.objects.get(id=pk_map['access.user'][str(i['fields']['owner'])]), news=i['fields']['news'], teacher=i['fields']['teacher'], new_comments=i['fields']['new_comments'], send_sms=i['fields']['send_sms'], courses=i['fields']['courses'], ) _now += 1 show_progress(big_len, _now) pk_map['access.subscription'][str(i['pk'])] = str(s.id) print u'\nActions' _now = 0 big_len = len(actjs) show_progress(big_len, _now) for i in actjs: a = ActionJ.objects.create( student=User.objects.get(id=pk_map['access.user'][str(i['fields']['student'])]), a_type=i['fields']['a_type'], place=i['fields']['place'], date=i['fields']['date'], text=i['fields']['text'], ) _now += 1 show_progress(big_len, _now) pk_map['access.actionj'][str(i['pk'])] = str(a.id) json.dump(pk_map, open('pk_maps.json', 'w'))