summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAlex Hill <alex@hill.net.au>2015-03-03 22:12:18 +0800
committerTim Graham <timograham@gmail.com>2015-03-25 16:48:26 -0400
commit7a75ed1a4fdf043064f0cce393bb93b698794978 (patch)
tree5c2844321ce9d587364fb203552b8f06aaafd44b
parent720ff740e70e649a97fcf0232fec132569a52c7e (diff)
Removed untouched branch in StateApps.__init__()
-rw-r--r--django/db/migrations/state.py24
1 files changed, 8 insertions, 16 deletions
diff --git a/django/db/migrations/state.py b/django/db/migrations/state.py
index 0482a680da..a9f60885f4 100644
--- a/django/db/migrations/state.py
+++ b/django/db/migrations/state.py
@@ -212,22 +212,14 @@ class StateApps(Apps):
self.render_multiple(list(models.values()) + self.real_models)
- # If there are some lookups left, see if we can first resolve them
- # ourselves - sometimes fields are added after a model is registered
- for lookup_model in self._pending_operations:
- try:
- model = self.get_model(*lookup_model)
- except LookupError:
- if lookup_model == make_model_tuple(settings.AUTH_USER_MODEL) and ignore_swappable:
- continue
- # Raise an error with a best-effort helpful message
- # (only for the first issue). Error message should look like:
- # "ValueError: Lookup failed for model referenced by
- # field migrations.Book.author: migrations.Author"
- msg = "Lookup failed for model: {model[0]}.{model[1]}"
- raise ValueError(msg.format(model=lookup_model))
- else:
- self.do_pending_operations(model)
+ # There shouldn't be any operations pending at this point.
+ pending_models = set(self._pending_operations)
+ if ignore_swappable:
+ pending_models -= {make_model_tuple(settings.AUTH_USER_MODEL)}
+ if pending_models:
+ msg = "Unhandled pending operations for models: %s"
+ labels = (".".join(model_key) for model_key in self._pending_operations)
+ raise ValueError(msg % ", ".join(labels))
def render_multiple(self, model_states):
# We keep trying to render the models in a loop, ignoring invalid