#24630: UUIDField migration
-------------------------------------+-------------------------------------
Reporter: lucacorti | Owner:
| priidukull
Type: Bug | Status: assigned
Component: Migrations | Version: 1.8
Severity: Normal | Resolution:
Keywords: uuidfiled | Triage Stage:
migrations | Unreviewed
Has patch: 0 | Needs documentation: 0
Needs tests: 0 | Patch needs improvement: 0
Easy pickings: 0 | UI/UX: 0
-------------------------------------+-------------------------------------
Comment (by priidukull):
I tried to reproduce the bug with Python 2.7 and Django 1.7/1.8. Did not
manage to reproduce the issue. I used the following migrations.
0001_initial.py:
{{{#!python
# -*- coding: utf-8 -*-
from __future__ import unicode_literals
from django.db import models, migrations
class Migration(migrations.Migration):
dependencies = [
]
operations = [
migrations.CreateModel(
name='Choice',
fields=[
('id', models.AutoField(verbose_name='ID',
serialize=False, auto_created=True, primary_key=True)),
('choice_text', models.CharField(max_length=200)),
('votes', models.IntegerField(default=0)),
],
),
migrations.CreateModel(
name='Question',
fields=[
('id', models.AutoField(verbose_name='ID',
serialize=False, auto_created=True, primary_key=True)),
('question_text', models.CharField(max_length=200)),
('pub_date', models.DateTimeField(verbose_name=b'date
published')),
],
),
migrations.AddField(
model_name='choice',
name='question',
field=models.ForeignKey(to='polls.Question'),
),
]
}}}
0002_second.py:
{{{#!python
# -*- coding: utf-8 -*-
from __future__ import unicode_literals
import random
from django.db import migrations
def populate_old_field(apps, schema_editor):
Question = apps.get_model('polls', 'Question')
for i in range(1, 100):
q = Question(i, random.getrandbits(128), '2015-09-09')
q.save()
class Migration(migrations.Migration):
dependencies = [
('polls', '0001_initial'),
]
operations = [
migrations.RunPython(
populate_old_field
),
]
}}}
0003_third.py:
{{{#!python
# -*- coding: utf-8 -*-
from __future__ import unicode_literals
from django.db import models, migrations
def populate_new_field(apps, schema_editor):
Question = apps.get_model('polls', 'Question')
for q in Question.objects.all():
q.question_text_new = q.question_text
q.save()
class Migration(migrations.Migration):
dependencies = [
('polls', '0002_second'),
]
operations = [
migrations.AddField(
model_name='question',
name='question_text_new',
field=models.CharField(max_length=300, null=True),
),
migrations.RunPython(
populate_new_field,
),
migrations.RemoveField(
model_name='question',
name='question_text',
),
]
--
Ticket URL: <https://code.djangoproject.com/ticket/24630#comment:5>
Django <https://code.djangoproject.com/>
The Web framework for perfectionists with deadlines.
--
You received this message because you are subscribed to the Google Groups
"Django updates" group.
To unsubscribe from this group and stop receiving emails from it, send an email
to [email protected].
To post to this group, send email to [email protected].
To view this discussion on the web visit
https://groups.google.com/d/msgid/django-updates/067.10bdbdc547420508419fba3ea63ea4c3%40djangoproject.com.
For more options, visit https://groups.google.com/d/optout.