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.
 
 
 
 
 
 

88 lines
2.3 KiB

# 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 storage.models import Storage
from access.models import User
from management.models import News, Comment, Feedback
_fixture = json.load(open('fixtures/management.json'))
user_pk = 1
findex = []
storage = []
crimg = []
def new_index(model, key, obj):
if str(key) in pk_map[model]:
return obj.objects.get(id=pk_map[model][str(key)])
return None
# Пример записи маршрута
pk_map = json.load(open('pk_maps.json'))
if 'management.news' not in pk_map.keys():
pk_map['management.news'] = {}
if 'management.comment' not in pk_map.keys():
pk_map['management.comment'] = {}
if 'management.feedback' not in pk_map.keys():
pk_map['management.feedback'] = {}
for i in _fixture:
if i['model'] == 'management.news':
findex.append(i)
elif i['model'] == 'management.comment':
storage.append(i)
elif i['model'] == 'management.feedback':
crimg.append(i)
print u'\nComments'
_now = 0
big_len = len(storage)
show_progress(big_len, _now)
for i in storage:
s = Comment.objects.create(
closed=i['fields']['closed'],
parent_id=i['fields']['parent_id'],
owner=new_index('access.user', i['fields']['owner'], User),
text=i['fields']['text'],
date=i['fields']['date'],
send=i['fields']['send']
)
for key in i['fields']['files']:
s.files.add(new_index('storage.storage', key, Storage))
_now += 1
show_progress(big_len, _now)
pk_map['management.comment'][str(i['pk'])] = str(s.id)
print u'\nFeedBack'
_now = 0
big_len = len(crimg)
show_progress(big_len, _now)
for i in crimg:
c = Feedback.objects.create(
closed=i['fields']['closed'],
name=i['fields']['name'],
email=i['fields']['email'],
phone=i['fields']['phone'],
text=i['fields']['text'],
date=i['fields']['date'],
send=i['fields']['send']
)
_now += 1
show_progress(big_len, _now)
pk_map['management.feedback'][str(i['pk'])] = str(c.id)
json.dump(pk_map, open('pk_maps.json', 'w'))