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.
 
 
 
 
 

40 lines
1.1 KiB

#!/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