#!/bin/env python2 # coding=utf-8 import os from json import loads import django #from django.db.utils import IntegrityError if __name__ == "__main__": os.environ.setdefault("DJANGO_SETTINGS_MODULE", "djing.settings") django.setup() from abonapp.models import Abon, AbonGroup f = open('dump.json', 'r') dat = f.readlines() f.close() dat = loads(dat[0]) for dt in dat['groups']: try: grp = AbonGroup.objects.get(title=dt['gname']) except AbonGroup.DoesNotExist: grp = AbonGroup(title=dt['gname']) grp.save() dt['obj'] = grp for dt in dat['users']: grp = filter(lambda gr: dt['grp']==gr['gid'], dat['groups']) grp = grp[0]['obj'] if len(grp)>0 else None try: abon = Abon.objects.get(username=dt['name']) except Abon.DoesNotExist: abon = Abon(username=dt['name']) abon.fio = dt['fio'] abon.telephone=dt['tel'] abon.address=dt['addr'] abon.group=grp abon.save() print abon.username, abon.fio, abon.group