Browse Source

подправил для переноса

devel
http 9 years ago
parent
commit
f9b96cbec8
  1. 51
      djing/utils/save_from_nodeny.py

51
djing/utils/save_from_nodeny.py

@ -4,35 +4,58 @@
import os
from json import load
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
from abonapp.models import Abon, AbonGroup, AbonTariff
from ip_pool.models import IpPoolItem
from tariff_app.models import Tariff
from accounts_app.models import UserProfile
with open('../../dump.json', 'r') as f:
with open('dump_pshen.json', 'r') as f:
dat = load(f)
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['groups']:
# try:
# grp = AbonGroup.objects.get(title=dt['gname'])
# except AbonGroup.DoesNotExist:
# grp = AbonGroup(title=dt['gname'])
# grp.save()
# dt['obj'] = grp
grp = AbonGroup.objects.get(id=43)
pshn_trf = Tariff.objects.get(id=3)
print(pshn_trf)
iam = UserProfile.objects.get(id=1)
for dt in dat['users']:
grp = [gr for gr in dat['groups'] if dt['grp']==gr['gid']]
grp = grp[0]['obj'] if len(grp)>0 else None
#grp = [gr for gr in dat['groups'] if dt['grp']==gr['gid']]
#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'])
try:
ip_addr = IpPoolItem.objects.get(ip=dt['ip'])
except IpPoolItem.DoesNotExist:
ip_addr = None
abon.fio = dt['fio']
abon.telephone=dt['tel']
abon.address=dt['addr']
abon.house=dt['addr']
abon.group=grp
abon.ballance=dt['balance']
abon.ip_address=ip_addr
abon.save()
print((abon.username, abon.fio, abon.group))
abtrfs = AbonTariff.objects.filter(abon=abon)
if abtrfs.count() > 0:
abtrf = abtrfs[0]
else:
abtrf = AbonTariff()
abtrf.abon = abon
abtrf.tariff = pshn_trf
abtrf.save()
abtrf.activate(iam)
print(abon.username, abon.fio, abon.group, ip_addr)
Loading…
Cancel
Save