Add key to transfer
Add queryset to transfer Add models and fields get to transfer
This commit is contained in:
parent
03b22d79db
commit
e8c48e99c6
|
|
@ -99,7 +99,7 @@ card = {
|
|||
"coordinates": (("lat", "latitude"), ("long", "longitude")),
|
||||
"code": "country_code_2",
|
||||
"postal_code": "zip_code",
|
||||
"is_island": ("is_island", "Boolean")
|
||||
"is_island": ("is_island", "is_island", "Boolean")
|
||||
},
|
||||
"relations": {
|
||||
"CityNames": {
|
||||
|
|
|
|||
|
|
@ -63,17 +63,48 @@ def transfer_model(model, card):
|
|||
print(f"ERROR: model {model} from {card['app_label']} can not be loaded: {e}")
|
||||
return
|
||||
|
||||
querysets = {}
|
||||
card_fields = card['fields']
|
||||
relations = card_fields['relations'] if 'relations' in card_fields else None
|
||||
|
||||
for legacy_table, fields in card['fields'].items():
|
||||
try:
|
||||
legacy_model = apps.get_model(app_label="transfer", model_name=legacy_table)
|
||||
except LookupError as e:
|
||||
print(f"ERROR: legacy model {model} can not be loaded: {e}")
|
||||
return
|
||||
if relations:
|
||||
del(card_fields['relations'])
|
||||
|
||||
print(f"APP MODEL: {app_model}")
|
||||
if len(card_fields) > 1:
|
||||
print("You must set one table to transfer")
|
||||
return
|
||||
|
||||
print(f"LEGACY MODEL: {legacy_model}")
|
||||
legacy_table = list(card_fields.keys())[0]
|
||||
fields = list(card_fields.values())[0]
|
||||
|
||||
print(f"FIELDS: {fields}")
|
||||
try:
|
||||
legacy_model = apps.get_model(app_label="transfer", model_name=legacy_table)
|
||||
except LookupError as e:
|
||||
print(f"ERROR: legacy model {model} can not be loaded: {e}")
|
||||
return
|
||||
|
||||
legacy_fields = []
|
||||
|
||||
for legacy_field in fields.values():
|
||||
if isinstance(legacy_field, str):
|
||||
legacy_fields.append(legacy_field)
|
||||
|
||||
elif isinstance(legacy_field, tuple):
|
||||
"""Группа полей"""
|
||||
if isinstance(legacy_field[0], tuple):
|
||||
for legacy_field_group in legacy_field:
|
||||
legacy_fields.append(legacy_field_group[1])
|
||||
else:
|
||||
legacy_fields.append(legacy_field[1])
|
||||
|
||||
if model != "City":
|
||||
return
|
||||
|
||||
print(legacy_fields)
|
||||
|
||||
queryset = legacy_model.objects.only(*legacy_fields)
|
||||
print(queryset)
|
||||
|
||||
if relations:
|
||||
for relation_table, relation_data in relations.items():
|
||||
print(relation_table)
|
||||
print(relation_data)
|
||||
|
|
|
|||
Loading…
Reference in New Issue
Block a user