Browse Source

Merge branch 'devel' of dial.lo:~/djing into devel

devel
Dmitry Novikov 7 years ago
parent
commit
f0f4d9f45a
  1. 54
      migrate2v2_dump.py
  2. 0
      periodic.py
  3. BIN
      static/clientside/bc.png

54
migrate2v2_dump.py

@ -0,0 +1,54 @@
#!/usr/bin/env python
import os
from json import dump
from django import setup
class BatchSaveStreamList(list):
def __init__(self, model_class, model_name, *args, **kwargs):
super().__init__(*args, **kwargs)
self._model_class = model_class
self._model_name = model_name
def __iter__(self):
def fields(obj):
return {ob.name: getattr(obj, ob.name) or None for ob in obj._meta.concrete_fields if ob.name != 'id'}
for d in self._model_class.objects.all().iterator():
yield {
"model": self._model_name,
"pk": d.pk,
"fields": fields(d)
}
def __len__(self):
return 1
def batch_save(fname, model_class, model_name):
sa = BatchSaveStreamList(
model_class=model_class,
model_name=model_name
)
with open(fname, 'w') as f:
dump(sa, f, ensure_ascii=False, indent=2)
# ---------------------
def dump_groups():
from group_app.models import Group
batch_save("groups.json", Group, 'groupapp.group')
def dump_accounts():
from accounts_app.models import UserProfile, BaseAccount
batch_save('accounts_baseaccount.json', BaseAccount, 'profiles.baseaccount')
batch_save('accounts_userprofile.json', UserProfile, 'profiles.userprofile')
if __name__ == '__main__':
os.environ.setdefault('DJANGO_SETTINGS_MODULE', 'djing.settings')
setup()
dump_groups()

0
periodic.py

BIN
static/clientside/bc.png

Before

Width: 80  |  Height: 80  |  Size: 4.2 KiB

After

Width: 128  |  Height: 80  |  Size: 3.7 KiB

Loading…
Cancel
Save