Add relation fields
This commit is contained in:
parent
90dd896f13
commit
b581ead8ae
|
|
@ -52,7 +52,10 @@ card = {
|
|||
},
|
||||
},
|
||||
"relations": {
|
||||
"region": "Region",
|
||||
"region": {
|
||||
"Region",
|
||||
("region_code", ("region_id", "int"))
|
||||
},
|
||||
"country": "Country"
|
||||
}
|
||||
},
|
||||
|
|
|
|||
|
|
@ -29,6 +29,30 @@ def transfer_objects(data_type):
|
|||
transfer_model(model, card)
|
||||
|
||||
|
||||
def sort_by_dependencies(data):
|
||||
"""Сортировка моделей по зависимостям"""
|
||||
|
||||
"""Сначала мы сортируем модели по зависимостям в обратном порядке, используя сортировку вставкой"""
|
||||
result = []
|
||||
for model, card in data.items():
|
||||
if "dependencies" in card and isinstance(card['dependencies'], tuple):
|
||||
for model_dependency in result:
|
||||
if model_dependency in card['dependencies']:
|
||||
result.insert(result.index(model_dependency), model)
|
||||
break
|
||||
|
||||
else:
|
||||
result.append(model)
|
||||
|
||||
"""Затем мы создаём сортированный словарь из реверса получившегося результата"""
|
||||
|
||||
result = OrderedDict(
|
||||
[(model, data[model]) for model in reversed(result)]
|
||||
)
|
||||
|
||||
return result
|
||||
|
||||
|
||||
def transfer_model(model, card):
|
||||
print(f"=================================================\r\n"
|
||||
f"MODEL: {model}\r\n"
|
||||
|
|
@ -53,26 +77,4 @@ def transfer_model(model, card):
|
|||
print(fields)
|
||||
|
||||
|
||||
def sort_by_dependencies(data):
|
||||
"""Сортировка моделей по зависимостям"""
|
||||
|
||||
"""Сначала мы сортируем модели по зависимостям в обратном порядке, используя сортировку вставкой"""
|
||||
result = []
|
||||
for model, card in data.items():
|
||||
if "dependencies" in card and isinstance(card['dependencies'], tuple):
|
||||
for model_dependency in result:
|
||||
if model_dependency in card['dependencies']:
|
||||
result.insert(result.index(model_dependency), model)
|
||||
break
|
||||
|
||||
else:
|
||||
result.append(model)
|
||||
|
||||
"""Затем мы создаём сортированный словарь из реверса получившегося результата"""
|
||||
|
||||
result = OrderedDict(
|
||||
[(model, data[model]) for model in reversed(result)]
|
||||
)
|
||||
|
||||
return result
|
||||
|
||||
|
|
|
|||
Loading…
Reference in New Issue
Block a user