From 8d81c6bc821b614f8c6fec337a7bc6c992816c31 Mon Sep 17 00:00:00 2001 From: Andrew Godwin Date: Thu, 30 May 2013 18:24:20 +0100 Subject: [PATCH] Use correct model versions for field operations --- django/db/migrations/operations/fields.py | 22 ++++++++++------------ 1 file changed, 10 insertions(+), 12 deletions(-) diff --git a/django/db/migrations/operations/fields.py b/django/db/migrations/operations/fields.py index efb12b22c3..862716a347 100644 --- a/django/db/migrations/operations/fields.py +++ b/django/db/migrations/operations/fields.py @@ -15,14 +15,13 @@ class AddField(Operation): state.models[app_label, self.model_name.lower()].fields.append((self.name, self.instance)) def database_forwards(self, app_label, schema_editor, from_state, to_state): - app_cache = to_state.render() - model = app_cache.get_model(app_label, self.model_name) - schema_editor.add_field(model, model._meta.get_field_by_name(self.name)[0]) + from_model = from_state.render().get_model(app_label, self.model_name) + to_model = to_state.render().get_model(app_label, self.model_name) + schema_editor.add_field(from_model, to_model._meta.get_field_by_name(self.name)[0]) def database_backwards(self, app_label, schema_editor, from_state, to_state): - app_cache = from_state.render() - model = app_cache.get_model(app_label, self.model_name) - schema_editor.remove_field(model, model._meta.get_field_by_name(self.name)[0]) + from_model = from_state.render().get_model(app_label, self.model_name) + schema_editor.remove_field(from_model, from_model._meta.get_field_by_name(self.name)[0]) class RemoveField(Operation): @@ -42,11 +41,10 @@ class RemoveField(Operation): state.models[app_label, self.model_name.lower()].fields = new_fields def database_forwards(self, app_label, schema_editor, from_state, to_state): - app_cache = from_state.render() - model = app_cache.get_model(app_label, self.model_name) - schema_editor.remove_field(model, model._meta.get_field_by_name(self.name)[0]) + from_model = from_state.render().get_model(app_label, self.model_name) + schema_editor.remove_field(from_model, from_model._meta.get_field_by_name(self.name)[0]) def database_backwards(self, app_label, schema_editor, from_state, to_state): - app_cache = to_state.render() - model = app_cache.get_model(app_label, self.model_name) - schema_editor.add_field(model, model._meta.get_field_by_name(self.name)[0]) + from_model = from_state.render().get_model(app_label, self.model_name) + to_model = to_state.render().get_model(app_label, self.model_name) + schema_editor.add_field(from_model, to_model._meta.get_field_by_name(self.name)[0])