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")),
|
"coordinates": (("lat", "latitude"), ("long", "longitude")),
|
||||||
"code": "country_code_2",
|
"code": "country_code_2",
|
||||||
"postal_code": "zip_code",
|
"postal_code": "zip_code",
|
||||||
"is_island": ("is_island", "Boolean")
|
"is_island": ("is_island", "is_island", "Boolean")
|
||||||
},
|
},
|
||||||
"relations": {
|
"relations": {
|
||||||
"CityNames": {
|
"CityNames": {
|
||||||
|
|
|
||||||
|
|
@ -63,17 +63,48 @@ def transfer_model(model, card):
|
||||||
print(f"ERROR: model {model} from {card['app_label']} can not be loaded: {e}")
|
print(f"ERROR: model {model} from {card['app_label']} can not be loaded: {e}")
|
||||||
return
|
return
|
||||||
|
|
||||||
querysets = {}
|
card_fields = card['fields']
|
||||||
|
relations = card_fields['relations'] if 'relations' in card_fields else None
|
||||||
|
|
||||||
|
if relations:
|
||||||
|
del(card_fields['relations'])
|
||||||
|
|
||||||
|
if len(card_fields) > 1:
|
||||||
|
print("You must set one table to transfer")
|
||||||
|
return
|
||||||
|
|
||||||
|
legacy_table = list(card_fields.keys())[0]
|
||||||
|
fields = list(card_fields.values())[0]
|
||||||
|
|
||||||
for legacy_table, fields in card['fields'].items():
|
|
||||||
try:
|
try:
|
||||||
legacy_model = apps.get_model(app_label="transfer", model_name=legacy_table)
|
legacy_model = apps.get_model(app_label="transfer", model_name=legacy_table)
|
||||||
except LookupError as e:
|
except LookupError as e:
|
||||||
print(f"ERROR: legacy model {model} can not be loaded: {e}")
|
print(f"ERROR: legacy model {model} can not be loaded: {e}")
|
||||||
return
|
return
|
||||||
|
|
||||||
print(f"APP MODEL: {app_model}")
|
legacy_fields = []
|
||||||
|
|
||||||
print(f"LEGACY MODEL: {legacy_model}")
|
for legacy_field in fields.values():
|
||||||
|
if isinstance(legacy_field, str):
|
||||||
|
legacy_fields.append(legacy_field)
|
||||||
|
|
||||||
print(f"FIELDS: {fields}")
|
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