mirror of
https://github.com/django/django.git
synced 2025-08-03 10:34:04 +00:00
Fixed #23395 -- Limited line lengths to 119 characters.
This commit is contained in:
parent
84b0a8d2aa
commit
b1e33ceced
130 changed files with 5259 additions and 1501 deletions
|
@ -185,100 +185,174 @@ class ExtraRegressTests(TestCase):
|
|||
obj.save()
|
||||
|
||||
self.assertEqual(
|
||||
list(TestObject.objects.extra(select=OrderedDict((('foo', 'first'), ('bar', 'second'), ('whiz', 'third')))).values()),
|
||||
[{'bar': 'second', 'third': 'third', 'second': 'second', 'whiz': 'third', 'foo': 'first', 'id': obj.pk, 'first': 'first'}]
|
||||
list(
|
||||
TestObject.objects
|
||||
.extra(select=OrderedDict((('foo', 'first'), ('bar', 'second'), ('whiz', 'third'))))
|
||||
.values()
|
||||
),
|
||||
[{
|
||||
'bar': 'second', 'third': 'third', 'second': 'second', 'whiz': 'third', 'foo': 'first',
|
||||
'id': obj.pk, 'first': 'first'
|
||||
}]
|
||||
)
|
||||
|
||||
# Extra clauses after an empty values clause are still included
|
||||
self.assertEqual(
|
||||
list(TestObject.objects.values().extra(select=OrderedDict((('foo', 'first'), ('bar', 'second'), ('whiz', 'third'))))),
|
||||
[{'bar': 'second', 'third': 'third', 'second': 'second', 'whiz': 'third', 'foo': 'first', 'id': obj.pk, 'first': 'first'}]
|
||||
list(
|
||||
TestObject.objects
|
||||
.values()
|
||||
.extra(select=OrderedDict((('foo', 'first'), ('bar', 'second'), ('whiz', 'third'))))
|
||||
),
|
||||
[{
|
||||
'bar': 'second', 'third': 'third', 'second': 'second', 'whiz': 'third', 'foo': 'first',
|
||||
'id': obj.pk, 'first': 'first'
|
||||
}]
|
||||
)
|
||||
|
||||
# Extra columns are ignored if not mentioned in the values() clause
|
||||
self.assertEqual(
|
||||
list(TestObject.objects.extra(select=OrderedDict((('foo', 'first'), ('bar', 'second'), ('whiz', 'third')))).values('first', 'second')),
|
||||
list(
|
||||
TestObject.objects
|
||||
.extra(select=OrderedDict((('foo', 'first'), ('bar', 'second'), ('whiz', 'third'))))
|
||||
.values('first', 'second')
|
||||
),
|
||||
[{'second': 'second', 'first': 'first'}]
|
||||
)
|
||||
|
||||
# Extra columns after a non-empty values() clause are ignored
|
||||
self.assertEqual(
|
||||
list(TestObject.objects.values('first', 'second').extra(select=OrderedDict((('foo', 'first'), ('bar', 'second'), ('whiz', 'third'))))),
|
||||
list(
|
||||
TestObject.objects
|
||||
.values('first', 'second')
|
||||
.extra(select=OrderedDict((('foo', 'first'), ('bar', 'second'), ('whiz', 'third'))))
|
||||
),
|
||||
[{'second': 'second', 'first': 'first'}]
|
||||
)
|
||||
|
||||
# Extra columns can be partially returned
|
||||
self.assertEqual(
|
||||
list(TestObject.objects.extra(select=OrderedDict((('foo', 'first'), ('bar', 'second'), ('whiz', 'third')))).values('first', 'second', 'foo')),
|
||||
list(
|
||||
TestObject.objects
|
||||
.extra(select=OrderedDict((('foo', 'first'), ('bar', 'second'), ('whiz', 'third'))))
|
||||
.values('first', 'second', 'foo')
|
||||
),
|
||||
[{'second': 'second', 'foo': 'first', 'first': 'first'}]
|
||||
)
|
||||
|
||||
# Also works if only extra columns are included
|
||||
self.assertEqual(
|
||||
list(TestObject.objects.extra(select=OrderedDict((('foo', 'first'), ('bar', 'second'), ('whiz', 'third')))).values('foo', 'whiz')),
|
||||
list(
|
||||
TestObject.objects
|
||||
.extra(select=OrderedDict((('foo', 'first'), ('bar', 'second'), ('whiz', 'third'))))
|
||||
.values('foo', 'whiz')
|
||||
),
|
||||
[{'foo': 'first', 'whiz': 'third'}]
|
||||
)
|
||||
|
||||
# Values list works the same way
|
||||
# All columns are returned for an empty values_list()
|
||||
self.assertEqual(
|
||||
list(TestObject.objects.extra(select=OrderedDict((('foo', 'first'), ('bar', 'second'), ('whiz', 'third')))).values_list()),
|
||||
list(
|
||||
TestObject.objects
|
||||
.extra(select=OrderedDict((('foo', 'first'), ('bar', 'second'), ('whiz', 'third'))))
|
||||
.values_list()
|
||||
),
|
||||
[('first', 'second', 'third', obj.pk, 'first', 'second', 'third')]
|
||||
)
|
||||
|
||||
# Extra columns after an empty values_list() are still included
|
||||
self.assertEqual(
|
||||
list(TestObject.objects.values_list().extra(select=OrderedDict((('foo', 'first'), ('bar', 'second'), ('whiz', 'third'))))),
|
||||
list(
|
||||
TestObject.objects
|
||||
.values_list()
|
||||
.extra(select=OrderedDict((('foo', 'first'), ('bar', 'second'), ('whiz', 'third'))))
|
||||
),
|
||||
[('first', 'second', 'third', obj.pk, 'first', 'second', 'third')]
|
||||
)
|
||||
|
||||
# Extra columns ignored completely if not mentioned in values_list()
|
||||
self.assertEqual(
|
||||
list(TestObject.objects.extra(select=OrderedDict((('foo', 'first'), ('bar', 'second'), ('whiz', 'third')))).values_list('first', 'second')),
|
||||
list(
|
||||
TestObject.objects
|
||||
.extra(select=OrderedDict((('foo', 'first'), ('bar', 'second'), ('whiz', 'third'))))
|
||||
.values_list('first', 'second')
|
||||
),
|
||||
[('first', 'second')]
|
||||
)
|
||||
|
||||
# Extra columns after a non-empty values_list() clause are ignored completely
|
||||
self.assertEqual(
|
||||
list(TestObject.objects.values_list('first', 'second').extra(select=OrderedDict((('foo', 'first'), ('bar', 'second'), ('whiz', 'third'))))),
|
||||
list(
|
||||
TestObject.objects
|
||||
.values_list('first', 'second')
|
||||
.extra(select=OrderedDict((('foo', 'first'), ('bar', 'second'), ('whiz', 'third'))))
|
||||
),
|
||||
[('first', 'second')]
|
||||
)
|
||||
|
||||
self.assertEqual(
|
||||
list(TestObject.objects.extra(select=OrderedDict((('foo', 'first'), ('bar', 'second'), ('whiz', 'third')))).values_list('second', flat=True)),
|
||||
list(
|
||||
TestObject.objects
|
||||
.extra(select=OrderedDict((('foo', 'first'), ('bar', 'second'), ('whiz', 'third'))))
|
||||
.values_list('second', flat=True)
|
||||
),
|
||||
['second']
|
||||
)
|
||||
|
||||
# Only the extra columns specified in the values_list() are returned
|
||||
self.assertEqual(
|
||||
list(TestObject.objects.extra(select=OrderedDict((('foo', 'first'), ('bar', 'second'), ('whiz', 'third')))).values_list('first', 'second', 'whiz')),
|
||||
list(
|
||||
TestObject.objects
|
||||
.extra(select=OrderedDict((('foo', 'first'), ('bar', 'second'), ('whiz', 'third'))))
|
||||
.values_list('first', 'second', 'whiz')
|
||||
),
|
||||
[('first', 'second', 'third')]
|
||||
)
|
||||
|
||||
# ...also works if only extra columns are included
|
||||
self.assertEqual(
|
||||
list(TestObject.objects.extra(select=OrderedDict((('foo', 'first'), ('bar', 'second'), ('whiz', 'third')))).values_list('foo', 'whiz')),
|
||||
list(
|
||||
TestObject.objects
|
||||
.extra(select=OrderedDict((('foo', 'first'), ('bar', 'second'), ('whiz', 'third'))))
|
||||
.values_list('foo', 'whiz')
|
||||
),
|
||||
[('first', 'third')]
|
||||
)
|
||||
|
||||
self.assertEqual(
|
||||
list(TestObject.objects.extra(select=OrderedDict((('foo', 'first'), ('bar', 'second'), ('whiz', 'third')))).values_list('whiz', flat=True)),
|
||||
list(
|
||||
TestObject.objects
|
||||
.extra(select=OrderedDict((('foo', 'first'), ('bar', 'second'), ('whiz', 'third'))))
|
||||
.values_list('whiz', flat=True)
|
||||
),
|
||||
['third']
|
||||
)
|
||||
|
||||
# ... and values are returned in the order they are specified
|
||||
self.assertEqual(
|
||||
list(TestObject.objects.extra(select=OrderedDict((('foo', 'first'), ('bar', 'second'), ('whiz', 'third')))).values_list('whiz', 'foo')),
|
||||
list(
|
||||
TestObject.objects
|
||||
.extra(select=OrderedDict((('foo', 'first'), ('bar', 'second'), ('whiz', 'third'))))
|
||||
.values_list('whiz', 'foo')
|
||||
),
|
||||
[('third', 'first')]
|
||||
)
|
||||
|
||||
self.assertEqual(
|
||||
list(TestObject.objects.extra(select=OrderedDict((('foo', 'first'), ('bar', 'second'), ('whiz', 'third')))).values_list('first', 'id')),
|
||||
list(
|
||||
TestObject.objects
|
||||
.extra(select=OrderedDict((('foo', 'first'), ('bar', 'second'), ('whiz', 'third'))))
|
||||
.values_list('first', 'id')
|
||||
),
|
||||
[('first', obj.pk)]
|
||||
)
|
||||
|
||||
self.assertEqual(
|
||||
list(TestObject.objects.extra(select=OrderedDict((('foo', 'first'), ('bar', 'second'), ('whiz', 'third')))).values_list('whiz', 'first', 'bar', 'id')),
|
||||
list(
|
||||
TestObject.objects
|
||||
.extra(select=OrderedDict((('foo', 'first'), ('bar', 'second'), ('whiz', 'third'))))
|
||||
.values_list('whiz', 'first', 'bar', 'id')
|
||||
),
|
||||
[('third', 'first', 'second', obj.pk)]
|
||||
)
|
||||
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue