summaryrefslogtreecommitdiff
path: root/django
diff options
context:
space:
mode:
authorAlex Gaynor <alex.gaynor@gmail.com>2012-11-04 14:20:26 -0800
committerAlex Gaynor <alex.gaynor@gmail.com>2012-11-04 14:20:26 -0800
commit8d3f932f18c75fcbb32cf3dd5998445d65b5db0f (patch)
treeb4deb6cfa871042d893b4147903a869c8fc62a91 /django
parentb98083ce3dfc35a3f3732f4873761a3f78e4194f (diff)
parent088f68252d1f3c9e5d51a5ea3ab769397a65859f (diff)
Merge pull request #494 from mrj0/model_split
model_split: Fixed #19236 - fixed error for abstract models with a split method
Diffstat (limited to 'django')
-rw-r--r--django/db/models/fields/related.py18
1 files changed, 10 insertions, 8 deletions
diff --git a/django/db/models/fields/related.py b/django/db/models/fields/related.py
index 5c3f538018..90fe69e23c 100644
--- a/django/db/models/fields/related.py
+++ b/django/db/models/fields/related.py
@@ -54,14 +54,16 @@ def add_lazy_relation(cls, field, relation, operation):
else:
# Look for an "app.Model" relation
- try:
- app_label, model_name = relation.split(".")
- except ValueError:
- # If we can't split, assume a model in current app
- app_label = cls._meta.app_label
- model_name = relation
- except AttributeError:
- # If it doesn't have a split it's actually a model class
+
+ if isinstance(relation, six.string_types):
+ try:
+ app_label, model_name = relation.split(".")
+ except ValueError:
+ # If we can't split, assume a model in current app
+ app_label = cls._meta.app_label
+ model_name = relation
+ else:
+ # it's actually a model class
app_label = relation._meta.app_label
model_name = relation._meta.object_name