﻿id	summary	reporter	owner	description	type	status	component	version	severity	resolution	keywords	cc	stage	has_patch	needs_docs	needs_tests	needs_better_patch	easy	ui_ux
25276	It would be very nice if django AlterField raised an error when ordered to alter that doesn't exist	Jacek Bzdak	nobody	"If I have following model in app ``foo``: 

{{{#!python

class Foo(models.Model): 
  bar = modeld.CharField(max_length=500)
  
}}}

And I write (by hand) following migration: 


{{{#!python

class Migration(migrations.Migration):

    dependencies = [
        ('foo', '0001_initial'),
    ]

    operations = [
        migrations.AlterField(
            model_name='foo',
            name='baz', #Notice there is a typo in field name
            field=modeld.CharField(max_length=100)
        ),
    ]
 
}}}

Currently this migration is a does nothing, however I feel that more appropriate action would be to notify user that he is trying to alter nonexistent field. 

Current implementation is a NOOP because (see: https://github.com/django/django/blob/master/django/db/migrations/operations/fields.py#L178) it is implemented in following way: 

{{{#!python
       state.models[app_label, self.model_name_lower].fields = [
            (n, field if n == self.name else f)
            for n, f in
            state.models[app_label, self.model_name_lower].fields
        ]
       state.reload_model(app_label, self.model_name_lower)
}}}

If someone says this is a sensible feature request I may modify migration code to raise if there is an error. 

I have actually lost some hours of my life due to this behaviour when I was writing a migration that moved models between applications. "	New feature	new	Migrations	1.8	Normal				Unreviewed	0	0	0	0	0	0
