server/python/django2/renkanmanager/migrations/0005_foreign_key_fields_datamigration.py
equal
deleted
inserted
replaced
1 # -*- coding: utf-8 -*- |
|
2 # Generated by Django 1.9.1 on 2016-04-14 12:23 |
|
3 from __future__ import unicode_literals |
|
4 |
|
5 from django.db import migrations |
|
6 |
|
7 |
|
8 def populate_foreign_keys(apps, schema_editor): |
|
9 renkans = apps.get_model('renkanmanager', 'Renkan') |
|
10 revisions = apps.get_model('renkanmanager', 'Revision') |
|
11 workspaces = apps.get_model('renkanmanager', 'Workspace') |
|
12 for renkan in renkans.objects.all(): |
|
13 current_revision_for_renkan = revisions.objects.get(revision_guid=renkan.current_revision_guid) |
|
14 renkan.current_revision = current_revision_for_renkan |
|
15 if renkan.source_revision_guid: |
|
16 current_source_for_renkan = revisions.objects.get(revision_guid=renkan.source_revision_guid) |
|
17 renkan.source_revision = current_source_for_renkan |
|
18 if renkan.workspace_guid: |
|
19 workspace_for_renkan = revisions.objects.get(revision_guid=renkan.workspace_guid) |
|
20 renkan.workspace = workspace_for_renkan |
|
21 renkan.save() |
|
22 for revision in revisions.objects.all(): |
|
23 parent_renkan_for_revision = renkans.objects.get(renkan_guid=revision.parent_renkan_guid) |
|
24 revision.parent_renkan = parent_renkan_for_revision |
|
25 revision.save() |
|
26 |
|
27 |
|
28 class Migration(migrations.Migration): |
|
29 |
|
30 dependencies = [ |
|
31 ('renkanmanager', '0004_foreign_key_fields_initial'), |
|
32 ] |
|
33 |
|
34 operations = [ |
|
35 migrations.RunPython(populate_foreign_keys) |
|
36 ] |
|