Loading tests/regressiontests/null_fk/models.py +0 −34 Original line number Diff line number Diff line Loading @@ -31,37 +31,3 @@ class Comment(models.Model): def __unicode__(self): return self.comment_text __test__ = {'API_TESTS':""" >>> d = SystemDetails.objects.create(details='First details') >>> s = SystemInfo.objects.create(system_name='First forum', system_details=d) >>> f = Forum.objects.create(system_info=s, forum_name='First forum') >>> p = Post.objects.create(forum=f, title='First Post') >>> c1 = Comment.objects.create(post=p, comment_text='My first comment') >>> c2 = Comment.objects.create(comment_text='My second comment') # Starting from comment, make sure that a .select_related(...) with a specified # set of fields will properly LEFT JOIN multiple levels of NULLs (and the things # that come after the NULLs, or else data that should exist won't). Regression # test for #7369. >>> c = Comment.objects.select_related().get(id=1) >>> c.post <Post: First Post> >>> c = Comment.objects.select_related().get(id=2) >>> print c.post None >>> comments = Comment.objects.select_related('post__forum__system_info').all() >>> [(c.id, c.comment_text, c.post) for c in comments] [(1, u'My first comment', <Post: First Post>), (2, u'My second comment', None)] # Regression test for #7530, #7716. >>> Comment.objects.select_related('post').filter(post__isnull=True)[0].post is None True >>> comments = Comment.objects.select_related('post__forum__system_info__system_details') >>> [(c.id, c.comment_text, c.post) for c in comments] [(1, u'My first comment', <Post: First Post>), (2, u'My second comment', None)] """} tests/regressiontests/null_fk/tests.py 0 → 100644 +42 −0 Original line number Diff line number Diff line from django.test import TestCase from regressiontests.null_fk.models import * class NullFkTests(TestCase): def test_null_fk(self): d = SystemDetails.objects.create(details='First details') s = SystemInfo.objects.create(system_name='First forum', system_details=d) f = Forum.objects.create(system_info=s, forum_name='First forum') p = Post.objects.create(forum=f, title='First Post') c1 = Comment.objects.create(post=p, comment_text='My first comment') c2 = Comment.objects.create(comment_text='My second comment') # Starting from comment, make sure that a .select_related(...) with a specified # set of fields will properly LEFT JOIN multiple levels of NULLs (and the things # that come after the NULLs, or else data that should exist won't). Regression # test for #7369. c = Comment.objects.select_related().get(id=1) self.assertEquals(c.post, p) self.assertEquals(Comment.objects.select_related().get(id=2).post, None) self.assertQuerysetEqual( Comment.objects.select_related('post__forum__system_info').all(), [ (1, u'My first comment', '<Post: First Post>'), (2, u'My second comment', 'None') ], transform = lambda c: (c.id, c.comment_text, repr(c.post)) ) # Regression test for #7530, #7716. self.assertTrue(Comment.objects.select_related('post').filter(post__isnull=True)[0].post is None) self.assertQuerysetEqual( Comment.objects.select_related('post__forum__system_info__system_details'), [ (1, u'My first comment', '<Post: First Post>'), (2, u'My second comment', 'None') ], transform = lambda c: (c.id, c.comment_text, repr(c.post)) ) Loading
tests/regressiontests/null_fk/models.py +0 −34 Original line number Diff line number Diff line Loading @@ -31,37 +31,3 @@ class Comment(models.Model): def __unicode__(self): return self.comment_text __test__ = {'API_TESTS':""" >>> d = SystemDetails.objects.create(details='First details') >>> s = SystemInfo.objects.create(system_name='First forum', system_details=d) >>> f = Forum.objects.create(system_info=s, forum_name='First forum') >>> p = Post.objects.create(forum=f, title='First Post') >>> c1 = Comment.objects.create(post=p, comment_text='My first comment') >>> c2 = Comment.objects.create(comment_text='My second comment') # Starting from comment, make sure that a .select_related(...) with a specified # set of fields will properly LEFT JOIN multiple levels of NULLs (and the things # that come after the NULLs, or else data that should exist won't). Regression # test for #7369. >>> c = Comment.objects.select_related().get(id=1) >>> c.post <Post: First Post> >>> c = Comment.objects.select_related().get(id=2) >>> print c.post None >>> comments = Comment.objects.select_related('post__forum__system_info').all() >>> [(c.id, c.comment_text, c.post) for c in comments] [(1, u'My first comment', <Post: First Post>), (2, u'My second comment', None)] # Regression test for #7530, #7716. >>> Comment.objects.select_related('post').filter(post__isnull=True)[0].post is None True >>> comments = Comment.objects.select_related('post__forum__system_info__system_details') >>> [(c.id, c.comment_text, c.post) for c in comments] [(1, u'My first comment', <Post: First Post>), (2, u'My second comment', None)] """}
tests/regressiontests/null_fk/tests.py 0 → 100644 +42 −0 Original line number Diff line number Diff line from django.test import TestCase from regressiontests.null_fk.models import * class NullFkTests(TestCase): def test_null_fk(self): d = SystemDetails.objects.create(details='First details') s = SystemInfo.objects.create(system_name='First forum', system_details=d) f = Forum.objects.create(system_info=s, forum_name='First forum') p = Post.objects.create(forum=f, title='First Post') c1 = Comment.objects.create(post=p, comment_text='My first comment') c2 = Comment.objects.create(comment_text='My second comment') # Starting from comment, make sure that a .select_related(...) with a specified # set of fields will properly LEFT JOIN multiple levels of NULLs (and the things # that come after the NULLs, or else data that should exist won't). Regression # test for #7369. c = Comment.objects.select_related().get(id=1) self.assertEquals(c.post, p) self.assertEquals(Comment.objects.select_related().get(id=2).post, None) self.assertQuerysetEqual( Comment.objects.select_related('post__forum__system_info').all(), [ (1, u'My first comment', '<Post: First Post>'), (2, u'My second comment', 'None') ], transform = lambda c: (c.id, c.comment_text, repr(c.post)) ) # Regression test for #7530, #7716. self.assertTrue(Comment.objects.select_related('post').filter(post__isnull=True)[0].post is None) self.assertQuerysetEqual( Comment.objects.select_related('post__forum__system_info__system_details'), [ (1, u'My first comment', '<Post: First Post>'), (2, u'My second comment', 'None') ], transform = lambda c: (c.id, c.comment_text, repr(c.post)) )