mirror of
https://github.com/django/django.git
synced 2024-11-25 07:59:34 +01:00
65ad4ade74
Previously the order was always extra_fields + model_fields + annotations with
respective local ordering inferred from the insertion order of *selected.
This commits introduces a new `Query.selected` propery that keeps tracks of the
global select order as specified by on values assignment. This is crucial
feature to allow the combination of queries mixing annotations and table
references.
It also allows the removal of the re-ordering shenanigans perform by
ValuesListIterable in order to re-map the tuples returned from the database
backend to the order specified by values_list() as they'll be in the right
order at query compilation time.
Refs #28553 as the initially reported issue that was only partially fixed
for annotations by d6b6e5d0fd
.
Thanks Mariusz Felisiak and Sarah Boyce for review.
612 lines
5.6 KiB
Plaintext
612 lines
5.6 KiB
Plaintext
à
|
|
accessor
|
|
accessors
|
|
Aceh
|
|
admindocs
|
|
affine
|
|
affordances
|
|
Ai
|
|
Alchin
|
|
allowlist
|
|
alphanumerics
|
|
amet
|
|
analytics
|
|
arccosine
|
|
architected
|
|
arcsine
|
|
arctangent
|
|
arg
|
|
args
|
|
async
|
|
atomicity
|
|
auth
|
|
autocommit
|
|
autocomplete
|
|
autocompletion
|
|
autodetect
|
|
autodetectable
|
|
autodetection
|
|
autodetector
|
|
autodiscovery
|
|
autoescape
|
|
autoescaping
|
|
autoextend
|
|
autogenerated
|
|
autoincrement
|
|
autoreload
|
|
autovacuum
|
|
backend
|
|
backends
|
|
backport
|
|
backported
|
|
backports
|
|
backtick
|
|
backtraces
|
|
balancer
|
|
basename
|
|
Bcc
|
|
BCC'ed
|
|
bcrypt
|
|
Beaven
|
|
benchmarking
|
|
Benoit
|
|
Berners
|
|
Biggs
|
|
bitwise
|
|
Bjørn
|
|
blazingly
|
|
boilerplatish
|
|
Bokmål
|
|
Bonham
|
|
bookmarklet
|
|
bookmarklets
|
|
boolean
|
|
booleans
|
|
bpython
|
|
Bronn
|
|
bugfix
|
|
bugfixes
|
|
Byteorder
|
|
bytestring
|
|
bytestrings
|
|
cacheable
|
|
callables
|
|
camelCase
|
|
cardinality
|
|
centric
|
|
centroid
|
|
changelist
|
|
changeset
|
|
charset
|
|
checkboxes
|
|
checkin
|
|
checksums
|
|
clearable
|
|
clickjacking
|
|
cms
|
|
codebase
|
|
codec
|
|
codename
|
|
codenamed
|
|
coercible
|
|
commenters
|
|
conf
|
|
config
|
|
contenttypes
|
|
contrib
|
|
coroutine
|
|
coroutines
|
|
counterintuitive
|
|
criticals
|
|
cron
|
|
crontab
|
|
cryptographic
|
|
cryptographically
|
|
csrfmiddlewaretoken
|
|
csv
|
|
ctime
|
|
Ctrl
|
|
customizability
|
|
customizable
|
|
customizations
|
|
Dahl
|
|
Danga
|
|
Darussalam
|
|
databrowse
|
|
datafile
|
|
dataset
|
|
datasets
|
|
datetimes
|
|
declaratively
|
|
decrementing
|
|
deduplicates
|
|
deduplication
|
|
deepcopy
|
|
deferrable
|
|
deprecations
|
|
deserialization
|
|
deserialize
|
|
deserialized
|
|
deserializer
|
|
deserializing
|
|
deterministically
|
|
Deutsch
|
|
dev
|
|
dictConfig
|
|
dicts
|
|
Dimensionally
|
|
dimensioned
|
|
discoverable
|
|
Disqus
|
|
distro
|
|
django
|
|
djangoproject
|
|
dm
|
|
docstring
|
|
docstrings
|
|
doctests
|
|
doctype
|
|
documentational
|
|
DoS
|
|
Dreamweaver
|
|
drilldown
|
|
dropdown
|
|
dropdowns
|
|
Dunck
|
|
editability
|
|
encodings
|
|
Endian
|
|
Enero
|
|
enum
|
|
environ
|
|
esque
|
|
Ess
|
|
ETag
|
|
ETags
|
|
exe
|
|
exfiltration
|
|
extensibility
|
|
fallbacks
|
|
favicon
|
|
fieldset
|
|
fieldsets
|
|
filesystem
|
|
filesystems
|
|
flatpage
|
|
flatpages
|
|
focusable
|
|
fooapp
|
|
formatter
|
|
formatters
|
|
formfield
|
|
formset
|
|
formsets
|
|
formtools
|
|
Frysian
|
|
geo
|
|
Geoff
|
|
geolocalized
|
|
geolocated
|
|
geolocation
|
|
georeference
|
|
georeferenced
|
|
georeferencing
|
|
geospatial
|
|
Gettext
|
|
GiB
|
|
gis
|
|
GiST
|
|
Googol
|
|
Greenhill
|
|
gunicorn
|
|
GZip
|
|
gzipped
|
|
hardcode
|
|
hardcoded
|
|
hardcoding
|
|
hashable
|
|
hasher
|
|
hashers
|
|
headerlist
|
|
hoc
|
|
Hoerner
|
|
Holovaty
|
|
Homebrew
|
|
hostname
|
|
hostnames
|
|
hstore
|
|
html
|
|
https
|
|
Hypercorn
|
|
ies
|
|
iframe
|
|
Igbo
|
|
incrementing
|
|
indexable
|
|
ing
|
|
ini
|
|
init
|
|
inlines
|
|
instantiation
|
|
interdependencies
|
|
ipsum
|
|
IPv
|
|
IPython
|
|
ise
|
|
iso
|
|
iterable
|
|
iterables
|
|
iteratively
|
|
ize
|
|
Jazzband
|
|
Jinja
|
|
jQuery
|
|
Jupyter
|
|
jython
|
|
Kaplan
|
|
Kessler
|
|
keyservers
|
|
KiB
|
|
kilometre
|
|
Koziarski
|
|
kwarg
|
|
kwargs
|
|
Kyrgyz
|
|
latin
|
|
lawrence
|
|
Libera
|
|
lifecycle
|
|
lifecycles
|
|
linearize
|
|
linestring
|
|
linework
|
|
linter
|
|
Livni
|
|
localflavor
|
|
localhost
|
|
localizable
|
|
localizers
|
|
lookaround
|
|
lookups
|
|
loopback
|
|
lorem
|
|
lossy
|
|
lowercased
|
|
lowercasing
|
|
Luhn
|
|
macOS
|
|
Magee
|
|
Mako
|
|
manouche
|
|
Marino
|
|
memcache
|
|
memcached
|
|
mentorship
|
|
metaclass
|
|
metaclasses
|
|
metre
|
|
MiB
|
|
micrometre
|
|
middleware
|
|
middlewares
|
|
millimetre
|
|
Minification
|
|
minified
|
|
minify
|
|
mis
|
|
misconfiguration
|
|
mitre
|
|
mixin
|
|
mixins
|
|
modelformset
|
|
monkeypatched
|
|
multicolumn
|
|
multijoins
|
|
multiline
|
|
multilinestring
|
|
multipolygon
|
|
multitenancy
|
|
multithreaded
|
|
multithreading
|
|
multivalued
|
|
mysql
|
|
mysqlclient
|
|
naïve
|
|
namespace
|
|
namespaced
|
|
namespaces
|
|
namespacing
|
|
Nanggroe
|
|
natively
|
|
nd
|
|
needsinfo
|
|
německy
|
|
nginx
|
|
noding
|
|
nonnegative
|
|
nullable
|
|
OAuth
|
|
OGC
|
|
OGR
|
|
ons
|
|
orderable
|
|
Orca
|
|
Orléans
|
|
orm
|
|
Outdim
|
|
outfile
|
|
paginator
|
|
parallelization
|
|
parallelized
|
|
parameterization
|
|
params
|
|
parens
|
|
parsers
|
|
PEM
|
|
perl
|
|
permalink
|
|
pessimization
|
|
Peucker
|
|
pgAdmin
|
|
picklable
|
|
picosecond
|
|
pingback
|
|
pingbacks
|
|
Pinney
|
|
Pinterest
|
|
plaintext
|
|
pluggable
|
|
pluralizations
|
|
pooler
|
|
postfix
|
|
postgis
|
|
postgres
|
|
postgresql
|
|
pragma
|
|
pre
|
|
precisions
|
|
precomputation
|
|
preconfigured
|
|
preescaped
|
|
prefetch
|
|
prefetched
|
|
prefetches
|
|
prefetching
|
|
preload
|
|
preloaded
|
|
prepend
|
|
prepended
|
|
prepending
|
|
prepends
|
|
prepopulate
|
|
prepopulated
|
|
prepopulates
|
|
preprocess
|
|
preprocessed
|
|
preprocesses
|
|
preprocessing
|
|
programmatically
|
|
proxied
|
|
proxying
|
|
pseudocode
|
|
psycopg
|
|
Punycode
|
|
Puthraya
|
|
pyformat
|
|
pythonic
|
|
qs
|
|
queryset
|
|
querysets
|
|
querystring
|
|
queueing
|
|
Quickstart
|
|
quoteless
|
|
Radziej
|
|
rasters
|
|
rc
|
|
readded
|
|
reallow
|
|
reallowed
|
|
reallows
|
|
rebase
|
|
rebased
|
|
rebasing
|
|
recomputation
|
|
recursed
|
|
redeclare
|
|
redirections
|
|
redisplay
|
|
redisplayed
|
|
redisplaying
|
|
redisplays
|
|
reenable
|
|
reescape
|
|
referer
|
|
referers
|
|
reflow
|
|
registrable
|
|
reimplement
|
|
reindent
|
|
reindex
|
|
releaser
|
|
releasers
|
|
reloader
|
|
renderer
|
|
renderers
|
|
repo
|
|
reportable
|
|
reprojection
|
|
reraising
|
|
resampling
|
|
reST
|
|
reStructuredText
|
|
reusability
|
|
reverter
|
|
roadmap
|
|
Roald
|
|
rss
|
|
runtime
|
|
Sandvik
|
|
savepoint
|
|
savepoints
|
|
scalable
|
|
schemas
|
|
screencast
|
|
screencasts
|
|
semimajor
|
|
semiminor
|
|
serializability
|
|
serializable
|
|
serializer
|
|
serializers
|
|
shapefile
|
|
shapefiles
|
|
sharding
|
|
sitewide
|
|
sliceable
|
|
SMTP
|
|
solaris
|
|
Sorani
|
|
sortable
|
|
Spectre
|
|
Springmeyer
|
|
SSL
|
|
stacktrace
|
|
stateful
|
|
staticfile
|
|
staticfiles
|
|
storages
|
|
stylesheet
|
|
stylesheets
|
|
subclassed
|
|
subclasses
|
|
subclassing
|
|
subcommand
|
|
subcommands
|
|
subdir
|
|
subdirectories
|
|
subdirectory
|
|
subfields
|
|
sublanguage
|
|
sublist
|
|
submodule
|
|
submodules
|
|
subpath
|
|
subprocesses
|
|
subqueries
|
|
subquery
|
|
subselect
|
|
substring
|
|
subtemplate
|
|
subtemplates
|
|
subtransactions
|
|
subtype
|
|
subviews
|
|
subwidget
|
|
subwidgets
|
|
superclass
|
|
superclasses
|
|
superset
|
|
swappable
|
|
symlink
|
|
symlinks
|
|
syntaxes
|
|
systemwide
|
|
tablespace
|
|
tablespaces
|
|
Tajik
|
|
teardown
|
|
templating
|
|
testcase
|
|
textarea
|
|
th
|
|
Thejaswi
|
|
theming
|
|
This'll
|
|
threadlocals
|
|
timeframe
|
|
timesaving
|
|
timezones
|
|
titlecase
|
|
tokenized
|
|
toolkits
|
|
toolset
|
|
trac
|
|
tracebacks
|
|
transactional
|
|
Transifex
|
|
Tredinnick
|
|
triager
|
|
triagers
|
|
triaging
|
|
trigram
|
|
trigrams
|
|
Turkmen
|
|
tv
|
|
umask
|
|
unannotated
|
|
unapplied
|
|
unapplying
|
|
uncategorized
|
|
unclaim
|
|
uncopyable
|
|
unencoded
|
|
unencrypted
|
|
unescape
|
|
unescaped
|
|
unevaluated
|
|
unglamorous
|
|
ungrouped
|
|
unhandled
|
|
unharmful
|
|
unhashable
|
|
unioning
|
|
uniterated
|
|
unlocalized
|
|
unmanaged
|
|
unparseable
|
|
unparsed
|
|
unpickle
|
|
unpickled
|
|
unpickling
|
|
unpythonic
|
|
Unregisters
|
|
unrendered
|
|
unreproducible
|
|
Unreviewed
|
|
unsanitized
|
|
unselected
|
|
unsets
|
|
unsquashed
|
|
untar
|
|
untrusted
|
|
unvalidated
|
|
uppercased
|
|
url
|
|
urljoins
|
|
urlpatterns
|
|
urls
|
|
UTF
|
|
util
|
|
utils
|
|
Uvicorn
|
|
uWSGI
|
|
Uyghur
|
|
validator
|
|
validators
|
|
variadic
|
|
vendored
|
|
virtualized
|
|
whitespace
|
|
whitespaces
|
|
whizbang
|
|
Willison
|
|
wontfix
|
|
worksforme
|
|
wrappable
|
|
wsgi
|
|
www
|
|
xe
|
|
xxxxx
|
|
Zope
|