mirror of
https://github.com/django/django.git
synced 2025-10-31 09:41:08 +00:00
Refs #33476 -- Reformatted code with Black.
This commit is contained in:
committed by
Mariusz Felisiak
parent
f68fa8b45d
commit
9c19aff7c7
@@ -32,7 +32,8 @@ class Comment(models.Model):
|
||||
comment_text = models.CharField(max_length=250)
|
||||
|
||||
class Meta:
|
||||
ordering = ('comment_text',)
|
||||
ordering = ("comment_text",)
|
||||
|
||||
|
||||
# Ticket 15823
|
||||
|
||||
@@ -46,6 +47,6 @@ class PropertyValue(models.Model):
|
||||
|
||||
|
||||
class Property(models.Model):
|
||||
item = models.ForeignKey(Item, models.CASCADE, related_name='props')
|
||||
item = models.ForeignKey(Item, models.CASCADE, related_name="props")
|
||||
key = models.CharField(max_length=100)
|
||||
value = models.ForeignKey(PropertyValue, models.SET_NULL, null=True)
|
||||
|
||||
@@ -1,20 +1,17 @@
|
||||
from django.db.models import Q
|
||||
from django.test import TestCase
|
||||
|
||||
from .models import (
|
||||
Comment, Forum, Item, Post, PropertyValue, SystemDetails, SystemInfo,
|
||||
)
|
||||
from .models import Comment, Forum, Item, Post, PropertyValue, SystemDetails, SystemInfo
|
||||
|
||||
|
||||
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')
|
||||
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
|
||||
@@ -25,33 +22,35 @@ class NullFkTests(TestCase):
|
||||
self.assertIsNone(Comment.objects.select_related().get(id=c2.id).post)
|
||||
|
||||
self.assertQuerysetEqual(
|
||||
Comment.objects.select_related('post__forum__system_info').all(),
|
||||
Comment.objects.select_related("post__forum__system_info").all(),
|
||||
[
|
||||
(c1.id, 'My first comment', '<Post: First Post>'),
|
||||
(c2.id, 'My second comment', 'None')
|
||||
(c1.id, "My first comment", "<Post: First Post>"),
|
||||
(c2.id, "My second comment", "None"),
|
||||
],
|
||||
transform=lambda c: (c.id, c.comment_text, repr(c.post))
|
||||
transform=lambda c: (c.id, c.comment_text, repr(c.post)),
|
||||
)
|
||||
|
||||
# Regression test for #7530, #7716.
|
||||
self.assertIsNone(Comment.objects.select_related('post').filter(post__isnull=True)[0].post)
|
||||
self.assertIsNone(
|
||||
Comment.objects.select_related("post").filter(post__isnull=True)[0].post
|
||||
)
|
||||
|
||||
self.assertQuerysetEqual(
|
||||
Comment.objects.select_related('post__forum__system_info__system_details'),
|
||||
Comment.objects.select_related("post__forum__system_info__system_details"),
|
||||
[
|
||||
(c1.id, 'My first comment', '<Post: First Post>'),
|
||||
(c2.id, 'My second comment', 'None')
|
||||
(c1.id, "My first comment", "<Post: First Post>"),
|
||||
(c2.id, "My second comment", "None"),
|
||||
],
|
||||
transform=lambda c: (c.id, c.comment_text, repr(c.post))
|
||||
transform=lambda c: (c.id, c.comment_text, repr(c.post)),
|
||||
)
|
||||
|
||||
def test_combine_isnull(self):
|
||||
item = Item.objects.create(title='Some Item')
|
||||
pv = PropertyValue.objects.create(label='Some Value')
|
||||
item.props.create(key='a', value=pv)
|
||||
item.props.create(key='b') # value=NULL
|
||||
q1 = Q(props__key='a', props__value=pv)
|
||||
q2 = Q(props__key='b', props__value__isnull=True)
|
||||
item = Item.objects.create(title="Some Item")
|
||||
pv = PropertyValue.objects.create(label="Some Value")
|
||||
item.props.create(key="a", value=pv)
|
||||
item.props.create(key="b") # value=NULL
|
||||
q1 = Q(props__key="a", props__value=pv)
|
||||
q2 = Q(props__key="b", props__value__isnull=True)
|
||||
|
||||
# Each of these individually should return the item.
|
||||
self.assertEqual(Item.objects.get(q1), item)
|
||||
|
||||
Reference in New Issue
Block a user