Added ignore_swappable to StateApps

Refs #23745.
This commit is contained in:
Markus Holtermann 2014-12-30 02:52:32 +01:00 committed by Claude Paroz
parent a159b1facd
commit 057305e588
2 changed files with 7 additions and 2 deletions

View File

@ -108,7 +108,7 @@ class MigrationAutodetector(object):
# Prepare some old/new state and model lists, separating # Prepare some old/new state and model lists, separating
# proxy models and ignoring unmigrated apps. # proxy models and ignoring unmigrated apps.
self.old_apps = self.from_state.apps self.old_apps = self.from_state.concrete_apps
self.new_apps = self.to_state.apps self.new_apps = self.to_state.apps
self.old_model_keys = [] self.old_model_keys = []
self.old_proxy_keys = [] self.old_proxy_keys = []

View File

@ -44,6 +44,11 @@ class ProjectState(object):
def apps(self): def apps(self):
return StateApps(self.real_apps, self.models) return StateApps(self.real_apps, self.models)
@property
def concrete_apps(self):
self.apps = StateApps(self.real_apps, self.models, ignore_swappable=True)
return self.apps
@classmethod @classmethod
def from_apps(cls, apps): def from_apps(cls, apps):
"Takes in an Apps and returns a ProjectState matching it" "Takes in an Apps and returns a ProjectState matching it"
@ -87,7 +92,7 @@ class StateApps(Apps):
Subclass of the global Apps registry class to better handle dynamic model Subclass of the global Apps registry class to better handle dynamic model
additions and removals. additions and removals.
""" """
def __init__(self, real_apps, models): def __init__(self, real_apps, models, ignore_swappable=False):
# Any apps in self.real_apps should have all their models included # Any apps in self.real_apps should have all their models included
# in the render. We don't use the original model instances as there # in the render. We don't use the original model instances as there
# are some variables that refer to the Apps object. # are some variables that refer to the Apps object.