mirror of
https://github.com/IRBorisov/ConceptPortal.git
synced 2025-06-25 20:40:36 +03:00
42 lines
1.1 KiB
Python
42 lines
1.1 KiB
Python
from django.db import migrations
|
|
|
|
|
|
def migrate_layout(apps, schema_editor):
|
|
Layout = apps.get_model('oss', 'Layout')
|
|
|
|
for layout in Layout.objects.all():
|
|
previous_data = layout.data
|
|
new_layout = []
|
|
|
|
for operation in previous_data['operations']:
|
|
new_layout.append({
|
|
'nodeID': 'o' + str(operation['id']),
|
|
'x': operation['x'],
|
|
'y': operation['y'],
|
|
'width': 150,
|
|
'height': 40
|
|
})
|
|
|
|
for block in previous_data['blocks']:
|
|
new_layout.append({
|
|
'nodeID': 'b' + str(block['id']),
|
|
'x': block['x'],
|
|
'y': block['y'],
|
|
'width': block['width'],
|
|
'height': block['height']
|
|
})
|
|
|
|
layout.data = new_layout
|
|
layout.save(update_fields=['data'])
|
|
|
|
|
|
class Migration(migrations.Migration):
|
|
|
|
dependencies = [
|
|
('oss', '0011_remove_operation_position_x_and_more'),
|
|
]
|
|
|
|
operations = [
|
|
migrations.RunPython(migrate_layout),
|
|
]
|