Use correct model versions for field operations

This commit is contained in:
Andrew Godwin 2013-05-30 18:24:20 +01:00
parent e6ba63def3
commit 8d81c6bc82
1 changed files with 10 additions and 12 deletions

View File

@ -15,14 +15,13 @@ class AddField(Operation):
state.models[app_label, self.model_name.lower()].fields.append((self.name, self.instance)) 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): def database_forwards(self, app_label, schema_editor, from_state, to_state):
app_cache = to_state.render() from_model = from_state.render().get_model(app_label, self.model_name)
model = app_cache.get_model(app_label, self.model_name) to_model = to_state.render().get_model(app_label, self.model_name)
schema_editor.add_field(model, model._meta.get_field_by_name(self.name)[0]) 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): def database_backwards(self, app_label, schema_editor, from_state, to_state):
app_cache = from_state.render() from_model = from_state.render().get_model(app_label, self.model_name)
model = app_cache.get_model(app_label, self.model_name) schema_editor.remove_field(from_model, from_model._meta.get_field_by_name(self.name)[0])
schema_editor.remove_field(model, model._meta.get_field_by_name(self.name)[0])
class RemoveField(Operation): class RemoveField(Operation):
@ -42,11 +41,10 @@ class RemoveField(Operation):
state.models[app_label, self.model_name.lower()].fields = new_fields state.models[app_label, self.model_name.lower()].fields = new_fields
def database_forwards(self, app_label, schema_editor, from_state, to_state): def database_forwards(self, app_label, schema_editor, from_state, to_state):
app_cache = from_state.render() from_model = from_state.render().get_model(app_label, self.model_name)
model = app_cache.get_model(app_label, self.model_name) schema_editor.remove_field(from_model, from_model._meta.get_field_by_name(self.name)[0])
schema_editor.remove_field(model, model._meta.get_field_by_name(self.name)[0])
def database_backwards(self, app_label, schema_editor, from_state, to_state): def database_backwards(self, app_label, schema_editor, from_state, to_state):
app_cache = to_state.render() from_model = from_state.render().get_model(app_label, self.model_name)
model = app_cache.get_model(app_label, self.model_name) to_model = to_state.render().get_model(app_label, self.model_name)
schema_editor.add_field(model, model._meta.get_field_by_name(self.name)[0]) schema_editor.add_field(from_model, to_model._meta.get_field_by_name(self.name)[0])