Browse Source

add migrate tasks

devel
Dmitry Novikov 7 years ago
parent
commit
32170d5841
  1. 23
      migrate2v2_dump.py

23
migrate2v2_dump.py

@ -5,20 +5,21 @@ from json import dump
from bitfield import BitField from bitfield import BitField
from django import setup from django import setup
from django.core.serializers.json import DjangoJSONEncoder from django.core.serializers.json import DjangoJSONEncoder
from django.db.models import ImageField, ManyToManyField
from django.db.models import ImageField, ManyToManyField, ManyToOneRel
from djing.fields import MACAddressField from djing.fields import MACAddressField
class BatchSaveStreamList(list): class BatchSaveStreamList(list):
def __init__(self, model_class, model_name, except_fields=None, choice_list_map=None, field_name_map=None, *args, **kwargs):
def __init__(self, model_class, model_name, except_fields=None, choice_list_map=None, field_name_map=None, *args,
**kwargs):
super().__init__(*args, **kwargs) super().__init__(*args, **kwargs)
self._model_class = model_class self._model_class = model_class
self._model_name = model_name self._model_name = model_name
self._except_fields = (except_fields or []) + ['id'] self._except_fields = (except_fields or []) + ['id']
self._choice_list_map = choice_list_map or {} self._choice_list_map = choice_list_map or {}
self._field_name_map = field_name_map or {} self._field_name_map = field_name_map or {}
print(model_name, end='\t'*3)
print(model_name, end='\t' * 3)
def _map_field_name(self, name): def _map_field_name(self, name):
if name in self._field_name_map: if name in self._field_name_map:
@ -63,6 +64,8 @@ class BatchSaveStreamList(list):
# related fields # related fields
if field.is_relation: if field.is_relation:
if isinstance(field, ManyToOneRel):
return getattr(obj, field.field_name)
val = getattr(obj, field.attname) val = getattr(obj, field.attname)
if isinstance(field, ManyToManyField): if isinstance(field, ManyToManyField):
s = val.only('pk').values_list('pk', flat=True) s = val.only('pk').values_list('pk', flat=True)
@ -246,13 +249,13 @@ def dump_tasks():
'F': 2 'F': 2
}, },
'mode': { 'mode': {
'na', 0, 'ic', 1,
'yt', 2, 'rc', 3,
'ls', 4, 'cf', 5,
'cn', 6, 'pf', 7,
'cr', 8, 'co', 9,
'fc', 10, 'ni', 11,
'ot', 12
'na': 0, 'ic': 1,
'yt': 2, 'rc': 3,
'ls': 4, 'cf': 5,
'cn': 6, 'pf': 7,
'cr': 8, 'co': 9,
'fc': 10, 'ni': 11,
'ot': 12
} }
}) })
batch_save('task_comments.json', ExtraComment, 'tasks.extracomment') batch_save('task_comments.json', ExtraComment, 'tasks.extracomment')

Loading…
Cancel
Save