diff options
| author | Alex Gaynor <alex.gaynor@gmail.com> | 2012-11-04 14:20:26 -0800 |
|---|---|---|
| committer | Alex Gaynor <alex.gaynor@gmail.com> | 2012-11-04 14:20:26 -0800 |
| commit | 8d3f932f18c75fcbb32cf3dd5998445d65b5db0f (patch) | |
| tree | b4deb6cfa871042d893b4147903a869c8fc62a91 /django | |
| parent | b98083ce3dfc35a3f3732f4873761a3f78e4194f (diff) | |
| parent | 088f68252d1f3c9e5d51a5ea3ab769397a65859f (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.py | 18 |
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 |
