David Wobrock
a320aab512
Fixed #16211 -- Added logical NOT support to F expressions.
2022-10-31 09:55:51 +01:00
Simon Charette
c6350d594c
Refs #30158 -- Removed alias argument for Expression.get_group_by_cols().
...
Recent refactors allowed GROUP BY aliasing allowed for aliasing to be
entirely handled by the sql.Query.set_group_by and compiler layers.
2022-10-06 12:04:00 +02:00
Simon Charette
f387d024fc
Refs #28333 -- Added partial support for filtering against window functions.
...
Adds support for joint predicates against window annotations through
subquery wrapping while maintaining errors for disjointed filter
attempts.
The "qualify" wording was used to refer to predicates against window
annotations as it's the name of a specialized Snowflake extension to
SQL that is to window functions what HAVING is to aggregates.
While not complete the implementation should cover most of the common
use cases for filtering against window functions without requiring
the complex subquery pushdown and predicate re-aliasing machinery to
deal with disjointed predicates against columns, aggregates, and window
functions.
A complete disjointed filtering implementation should likely be
deferred until proper QUALIFY support lands or the ORM gains a proper
subquery pushdown interface.
2022-08-15 08:26:26 +02:00
Mariusz Felisiak
ac90529cc5
Fixed docs build with sphinxcontrib-spelling 7.5.0+.
...
sphinxcontrib-spelling 7.5.0+ includes captions of figures in the set
of nodes for which the text is checked.
2022-05-31 11:17:01 +02:00
Carlton Gibson
ca1c3151c3
Removed versionadded/changed annotations for 4.0.
2022-05-17 14:22:06 +02:00
Mariusz Felisiak
68da6b389c
Fixed #33543 -- Deprecated passing nulls_first/nulls_last=False to OrderBy and Expression.asc()/desc().
...
Thanks Allen Jonathan David for the initial patch.
2022-05-12 11:30:03 +02:00
David
ce586ed693
Removed hyphen from pre-/re- prefixes.
...
"prepopulate", "preload", and "preprocessing" are already in the
spelling_wordlist.
This also removes hyphen from double "e" combinations with "pre" and
"re", e.g. preexisting, preempt, reestablish, or reenter.
See also:
- https://ahdictionary.com/word/search.html?q=rerun
- https://ahdictionary.com/word/search.html?q=recreate
- https://ahdictionary.com/word/search.html?q=predetermined
- https://ahdictionary.com/word/search.html?q=reuse
- https://ahdictionary.com/word/search.html?q=reopening
2022-04-28 10:44:14 +02:00
Nick Pope
847f46e9bf
Removed redundant QuerySet.all() calls in docs and tests.
...
Most QuerySet methods are mapped onto the Manager and, in general,
it isn't necessary to call .all() on the manager.
2022-02-22 10:29:38 +01:00
Mariusz Felisiak
4400d8568a
Fixed #33391 -- Clarified Aggregate.empty_result_set_value docs.
2021-12-31 06:49:10 +01:00
Simon Charette
aec71aaa5b
Fixed #33304 -- Allowed passing string expressions to Window(order_by).
2021-11-23 07:58:44 +01:00
David Wobrock
ad36a198a1
Fixed #33141 -- Renamed Expression.empty_aggregate_value to empty_result_set_value.
2021-09-29 12:58:01 +02:00
Mariusz Felisiak
97237ad3fe
Removed versionadded/changed annotations for 3.2.
2021-09-20 21:23:01 +02:00
David Sanders
ecf76cc1fb
Clarified type of Window()'s partition_by and order_by arguments.
2021-09-10 11:49:51 +02:00
Nick Pope
501a8db465
Fixed #10929 -- Added default argument to aggregates.
...
Thanks to Simon Charette and Adam Johnson for the reviews.
2021-07-19 13:04:27 +02:00
Ian Foote
f42ccdd835
Fixed #27021 -- Allowed lookup expressions in annotations, aggregations, and QuerySet.filter().
...
Thanks Hannes Ljungberg and Simon Charette for reviews.
Co-authored-by: Mariusz Felisiak <felisiak.mariusz@gmail.com>
2021-07-09 11:43:06 +02:00
Simon Charette
9f3cce172f
Refs #26430 -- Re-introduced empty aggregation optimization.
...
The introduction of the Expression.empty_aggregate_value interface
allows the compilation stage to enable the EmptyResultSet optimization
if all the aggregates expressions implement it.
This also removes unnecessary RegrCount/Count.convert_value() methods.
Disabling the empty result set aggregation optimization when it wasn't
appropriate prevented None returned for a Count aggregation value.
Thanks Nick Pope for the review.
2021-07-02 07:25:42 +02:00
Simon Willison
e53159747c
Doc'd that RawSQL can be used with __in.
2021-03-25 10:28:20 +01:00
Mariusz Felisiak
fdc3d9dcaf
Removed unused import in docs/ref/models/expressions.txt. ( #13879 )
2021-01-12 10:51:38 +01:00
Kevin Marsh
45f4282149
Refs #31792 -- Updated SQL example in Exists() docs.
...
Follow up to 51297a9232
.
2020-12-10 21:01:57 +01:00
Ian Foote
8b040e3cbb
Fixed #25534 , Fixed #31639 -- Added support for transform references in expressions.
...
Thanks Mariusz Felisiak and Simon Charette for reviews.
2020-11-27 20:42:04 +01:00
Simon Charette
1e38f1191d
Fixed #30446 -- Resolved Value.output_field for stdlib types.
...
This required implementing a limited form of dynamic dispatch to combine
expressions with numerical output. Refs #26355 should eventually provide
a better interface for that.
2020-07-15 10:58:29 +02:00
Mariusz Felisiak
4c5236ef93
Removed versionadded/changed annotations for 3.0.
2020-05-13 09:07:51 +02:00
Adam Johnson
1c2c6f1b51
Fixed a/an typos in "SQL" usage.
2020-05-06 06:35:26 +02:00
Hasan Ramezani
6929f13254
Fixed #31368 -- Doc'd 'expression' parameter of Field.from_db_value()/Expression.convert_value().
2020-03-18 09:37:05 +01:00
Adam Johnson
8c1b073b59
Doc'd return values of as_sql() for Func and query expressions.
2020-03-06 13:02:08 +01:00
Taoup
cebd41e416
Fixed #31110 -- Fixed typo in docs/ref/models/expressions.txt.
2019-12-21 20:33:04 +01:00
Mariusz Felisiak
416c584cab
Removed versionadded/changed annotations for 2.2.
2019-09-10 12:01:00 +02:00
Tobias Kunze
4a954cfd11
Fixed #30573 -- Rephrased documentation to avoid words that minimise the involved difficulty.
...
This patch does not remove all occurrences of the words in question.
Rather, I went through all of the occurrences of the words listed
below, and judged if they a) suggested the reader had some kind of
knowledge/experience, and b) if they added anything of value (including
tone of voice, etc). I left most of the words alone. I looked at the
following words:
- simply/simple
- easy/easier/easiest
- obvious
- just
- merely
- straightforward
- ridiculous
Thanks to Carlton Gibson for guidance on how to approach this issue, and
to Tim Bell for providing the idea. But the enormous lion's share of
thanks go to Adam Johnson for his patient and helpful review.
2019-09-06 13:27:46 +02:00
Matthew Schinckel
4137fc2efc
Fixed #25367 -- Allowed boolean expressions in QuerySet.filter() and exclude().
...
This allows using expressions that have an output_field that is a
BooleanField to be used directly in a queryset filters, or in the
When() clauses of a Case() expression.
Thanks Josh Smeaton, Tim Graham, Simon Charette, Mariusz Felisiak, and
Adam Johnson for reviews.
Co-Authored-By: NyanKiyoshi <hello@vanille.bid>
2019-08-29 09:45:29 +02:00
Matthew Schinckel
dba749917f
Doc'd for_save argument of Expression.resolve_expression().
2019-08-27 16:54:01 +02:00
Vyacheslav Ver
76b3fc5c8d
Fixed #30486 -- Fixed the default value of Aggregate.distinct and updated example of custom aggregate functions.
2019-06-11 11:40:48 +02:00
Vyacheslav Ver
60b6a7ea9d
Fixed typo in expression documentation.
2019-05-16 16:03:27 +02:00
Daniel Musketa
6fd9c9daa6
Fixed #30365 -- Fixed syntax highlighting in SQL examples.
...
Sphinx interprets some "%[a-z]" in SQL statements as a
"Literal.String.Interpol" which leads to incorrect highlighting.
2019-04-23 12:37:50 +02:00
sage
bfae195b0a
Fixed #30326 -- Doc'd how to avoid persistence of F() assignment.
2019-04-15 08:57:33 +02:00
Simon Charette
9dc367dc10
Refs #30158 -- Added alias argument to Expression.get_group_by_cols().
2019-03-21 18:47:46 -04:00
Tim Graham
ec7e179aeb
Removed versionadded/changed annotations for 2.1.
2019-01-17 10:50:25 -05:00
Simon Charette
bc05547cd8
Fixed #28658 -- Added DISTINCT handling to the Aggregate class.
2019-01-09 17:52:36 -05:00
Simon Charette
9a7d336c38
Corrected Aggregate docs to reflect that it accepts multiple expressions.
2018-11-27 09:22:24 -05:00
Curtis Maloney
c49ea6f591
Refs #20910 -- Replaced snippet directive with code-block.
2018-09-10 13:00:34 -04:00
priyanshsaxena
83b04d4f88
Fixed #29048 -- Added **extra_context to database function as_vendor() methods.
2018-08-23 11:52:09 -04:00
Mads Jensen
ab251fdad2
Refs #26608 -- Removed incorrect sentence in Expression.contains_over_clause docs.
2018-07-05 11:12:08 -04:00
Tim Graham
7543ab1f8d
Removed versionadded/changed annotations for 2.0.
2018-05-17 11:00:10 -04:00
Mariusz Felisiak
35319bf12c
Alphabetized imports in various docs.
...
Follow-up of d97cce3409
and 7d3fe36c62
.
2018-05-12 19:37:42 +02:00
drd0013
5d923f2d8c
Fixed #29313 -- Doc'd how to use F() to sort null values.
2018-04-19 20:07:40 -04:00
Matthew Wilkes
2162f0983d
Fixed #24747 -- Allowed transforms in QuerySet.order_by() and distinct(*fields).
2018-02-10 19:08:55 -05:00
priyanshsaxena
617d5f410f
Fixed #29066 -- Allowed negating query expressions.
2018-01-31 10:54:19 -05:00
Igor Starikov
3cc08f4b2b
Fixed typo in docs/ref/models/expressions.txt.
2017-12-05 08:39:57 -05:00
Benjamin Bach
bf49d9eb0b
Fixed #28815 -- Fixed ExtractYear imports in docs/ref/models/expressions.txt.
2017-11-17 17:30:21 -05:00
Tim Graham
327f0f37ce
Fixed #28770 -- Warned that quoting a placeholder in a raw SQL string is unsafe.
...
Thanks Hynek Cernoch for the report and review.
2017-11-07 13:07:12 -05:00
Tim Graham
1e7dbbdec5
Fixed #28680 -- Doc'd Func.__init__()'s **extra and as_sql()'s **extra_context aren't escaped.
...
Thanks Hynek Cernoch for the report and review.
2017-11-01 11:34:06 -04:00