server/python/django2/renkanmanager/migrations/0005_foreign_key_fields_datamigration.py
changeset 614 23416a833ca8
parent 613 e00a24b711a0
child 615 f3875fbe206a
equal deleted inserted replaced
613:e00a24b711a0 614:23416a833ca8
     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     ]