summaryrefslogtreecommitdiff
path: root/tests
diff options
context:
space:
mode:
authorJoseph Kocherhans <joseph@jkocherhans.com>2010-02-23 19:24:27 +0000
committerJoseph Kocherhans <joseph@jkocherhans.com>2010-02-23 19:24:27 +0000
commit65b451ae3e3017154e352d300ae6f8152c506b06 (patch)
tree60bffdfb8d042af2c952060bc0d9b5fd1d37d109 /tests
parent3f443363f9bd65fdb77a20693637e721696c0414 (diff)
Fixed #12819. Fixed a bug with caching values of nullable 1to1 fields. Thanks, s.angel@twidi.com for the initial patch, and Alex Gaynor for the tests.
git-svn-id: http://code.djangoproject.com/svn/django/trunk@12543 bcc190cf-cafb-0310-a4f2-bffc1f526a37
Diffstat (limited to 'tests')
-rw-r--r--tests/regressiontests/select_related_onetoone/models.py9
-rw-r--r--tests/regressiontests/select_related_onetoone/tests.py10
2 files changed, 18 insertions, 1 deletions
diff --git a/tests/regressiontests/select_related_onetoone/models.py b/tests/regressiontests/select_related_onetoone/models.py
index 0014278768..6b46366530 100644
--- a/tests/regressiontests/select_related_onetoone/models.py
+++ b/tests/regressiontests/select_related_onetoone/models.py
@@ -44,3 +44,12 @@ class StatDetails(models.Model):
class AdvancedUserStat(UserStat):
pass
+
+
+class Image(models.Model):
+ name = models.CharField(max_length=100)
+
+
+class Product(models.Model):
+ name = models.CharField(max_length=100)
+ image = models.OneToOneField(Image, null=True)
diff --git a/tests/regressiontests/select_related_onetoone/tests.py b/tests/regressiontests/select_related_onetoone/tests.py
index b9e5beb7e9..5a4a3e4ed6 100644
--- a/tests/regressiontests/select_related_onetoone/tests.py
+++ b/tests/regressiontests/select_related_onetoone/tests.py
@@ -2,7 +2,8 @@ from django import db
from django.conf import settings
from django.test import TestCase
-from models import User, UserProfile, UserStat, UserStatResult, StatDetails, AdvancedUserStat
+from models import (User, UserProfile, UserStat, UserStatResult, StatDetails,
+ AdvancedUserStat, Image, Product)
class ReverseSelectRelatedTestCase(TestCase):
def setUp(self):
@@ -81,3 +82,10 @@ class ReverseSelectRelatedTestCase(TestCase):
stat = UserStat.objects.select_related('advanceduserstat').get(posts=200)
self.assertEqual(stat.advanceduserstat.posts, 200)
self.assertQueries(1)
+
+ def test_nullable_relation(self):
+ im = Image.objects.create(name="imag1")
+ p1 = Product.objects.create(name="Django Plushie", image=im)
+ p2 = Product.objects.create(name="Talking Django Plushie")
+
+ self.assertEqual(len(Product.objects.select_related("image")), 2)