From 51c3ba1996869e5229033127444c4eaeed299b15 Mon Sep 17 00:00:00 2001
From: Jonas Obrist <ojiidotch@gmail.com>
Date: Sun, 25 Dec 2011 17:53:32 +0100
Subject: [PATCH] wrote a test for #16978 wrote a fix for #16978
---
django/db/models/fields/related.py | 4 +++-
tests/modeltests/foreign_key/models.py | 6 ++++++
tests/modeltests/foreign_key/tests.py | 17 +++++++++++++++++
3 files changed, 26 insertions(+), 1 deletions(-)
create mode 100644 tests/modeltests/foreign_key/__init__.py
create mode 100644 tests/modeltests/foreign_key/models.py
create mode 100644 tests/modeltests/foreign_key/tests.py
diff --git a/django/db/models/fields/related.py b/django/db/models/fields/related.py
index 848fd6e..a276e5d 100644
|
a
|
b
|
class MyModel(Model):
|
| 49 | 49 | if relation == RECURSIVE_RELATIONSHIP_CONSTANT: |
| 50 | 50 | app_label = cls._meta.app_label |
| 51 | 51 | model_name = cls.__name__ |
| 52 | | |
| | 52 | elif not isinstance(relation, basestring): |
| | 53 | app_label = relation._meta.app_label |
| | 54 | model_name = relation._meta.object_name |
| 53 | 55 | else: |
| 54 | 56 | # Look for an "app.Model" relation |
| 55 | 57 | try: |
diff --git a/tests/modeltests/foreign_key/__init__.py b/tests/modeltests/foreign_key/__init__.py
new file mode 100644
index 0000000..e69de29
diff --git a/tests/modeltests/foreign_key/models.py b/tests/modeltests/foreign_key/models.py
new file mode 100644
index 0000000..6e2e4de
|
-
|
+
|
|
| | 1 | # -*- coding: utf-8 -*- |
| | 2 | from django.db import models |
| | 3 | |
| | 4 | class RelatedModel(models.Model): |
| | 5 | def split(self): |
| | 6 | pass |
| | 7 | No newline at end of file |
diff --git a/tests/modeltests/foreign_key/tests.py b/tests/modeltests/foreign_key/tests.py
new file mode 100644
index 0000000..01acdc5
|
-
|
+
|
|
| | 1 | # -*- coding: utf-8 -*- |
| | 2 | from django.db import models |
| | 3 | from django.test.testcases import TestCase |
| | 4 | |
| | 5 | |
| | 6 | class AddLazyRelationsTests(TestCase): |
| | 7 | def test_model_with_split_method(self): |
| | 8 | class Meta: |
| | 9 | order_with_respect_to = 'related' |
| | 10 | |
| | 11 | attrs = { |
| | 12 | 'related': models.ForeignKey('foreign_key.RelatedModel'), |
| | 13 | '__module__': self.__module__, |
| | 14 | 'Meta': Meta, |
| | 15 | } |
| | 16 | MainModel = type('MainModel', (models.Model, ), attrs) |
| | 17 | |