FieldDoesNotExist during custom migration

119 views
Skip to first unread message

Gagaro

unread,
Jun 8, 2016, 5:32:48 AM6/8/16
to Django users
Hello,

I'm trying to make a migration to change a field ("filter") from a ForeignKey to a CharField. The migration is as follow :

class Migration(migrations.Migration):

    operations
= [
        migrations
.AddField(
            model_name
='Rendition',
            name
='filter2',
            field
=models.CharField(max_length=255, db_index=True),
       
),
        migrations
.RunPython(forwards_data_migration, reverse_data_migration),
        migrations
.RemoveField(model_name='Rendition', name='filter'),
        migrations
.DeleteModel('Filter'),
        migrations
.RenameField(model_name='Rendition', old_name='filter2', new_name='filter'),
   
]

When running the migration, I have the following error:

django.core.exceptions.FieldDoesNotExist: Rendition has no field named u'filter'

The error happens  during the RemoveField (migrations.RemoveField(model_name='Rendition', name='filter')).

So, a couple questions:

* Is there a better way to change a field type (with data migration)?
* Why do I have this error, when my field is present?


Thanks

Gagaro

unread,
Jun 10, 2016, 4:23:28 AM6/10/16
to Django users
The issue was with my model which had a unique_together with the field removed in it. Fixed migrations are:

class Migration(migrations.Migration):

    operations
= [
        migrations
.AddField(
            model_name
='Rendition',
            name
='filter2',
            field
=models.CharField(max_length=255, db_index=True),
       
),
        migrations
.RunPython(forwards_data_migration, reverse_data_migration),

        migrations
.AlterUniqueTogether('rendition', set([])),

        migrations
.RemoveField(model_name='Rendition', name='filter'),
        migrations
.DeleteModel('Filter'),
        migrations
.RenameField(model_name='Rendition', old_name='filter2', new_name='filter'),

        migrations
.AlterUniqueTogether('rendition', set([('image', 'filter', 'focal_point_key')])),
   
]

Reply all
Reply to author
Forward
0 new messages