Simon Charette
65ad4ade74
Refs #28900 -- Made SELECT respect the order specified by values(*selected).
...
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.
2024-07-03 16:36:25 +02:00
Nick Pope
94b6f101f7
Fixed #29049 -- Added slicing notation to F expressions.
...
Co-authored-by: Priyansh Saxena <askpriyansh@gmail.com>
Co-authored-by: Niclas Olofsson <n@niclasolofsson.se>
Co-authored-by: David Smith <smithdc@gmail.com>
Co-authored-by: Mariusz Felisiak <felisiak.mariusz@gmail.com>
Co-authored-by: Abhinav Yadav <abhinav.sny.2002@gmail.com>
2023-12-30 08:24:30 +01:00
Simon Charette
b0ad41198b
Fixed #34013 -- Added QuerySet.order_by() support for annotation transforms.
...
Thanks Eugene Morozov and Ben Nace for the reports.
2023-12-12 05:51:33 +01:00
şuayip üzülmez
0c5146523b
Fixed #34662 -- Corrected number in error messages for Array(Min/Max)LengthValidator.
2023-06-18 14:32:51 +02:00
David Wobrock
d6b6e5d0fd
Fixed #28553 -- Fixed annotation mismatch with QuerySet.values()/values_list() on compound queries.
...
Co-authored-by: Matthias Kestenholz <mk@feinheit.ch>
2023-03-24 06:09:27 +01:00
Simon Charette
278881e376
Fixed #34346 -- Ordered selected expressions by position.
...
Used the same approach as for #34176 by using selected expressions
position to prevent ambiguous aliases in collisions.
Thanks henribru for the report.
Regression in 04518e310d
.
2023-02-20 05:54:25 +01:00
David Smith
097e3a70c1
Refs #33476 -- Applied Black's 2023 stable style.
...
Black 23.1.0 is released which, as the first release of the year,
introduces the 2023 stable style. This incorporates most of last year's
preview style.
https://github.com/psf/black/releases/tag/23.1.0
2023-02-01 11:04:38 +01:00
Simon Charette
dd68af62b2
Fixed #34176 -- Fixed grouping by ambiguous aliases.
...
Regression in b7b28c7c18
.
Refs #31377 .
Thanks Shai Berger for the report and reviews.
test_aggregation_subquery_annotation_values_collision() has been
updated as queries that are explicitly grouped by a subquery should
always be grouped by it and not its outer columns even if its alias
collides with referenced table columns. This was not possible to
accomplish at the time 10866a10
landed because we didn't have compiler
level handling of colliding aliases.
2023-01-09 10:52:51 +01:00
Adrian Torres
7eee1dca42
Fixed #14094 -- Added support for unlimited CharField on PostgreSQL.
...
Co-authored-by: Mariusz Felisiak <felisiak.mariusz@gmail.com>
2022-12-28 12:31:04 +01:00
Daniele Varrazzo
09ffc5c121
Fixed #33308 -- Added support for psycopg version 3.
...
Thanks Simon Charette, Tim Graham, and Adam Johnson for reviews.
Co-authored-by: Florian Apolloner <florian@apolloner.eu>
Co-authored-by: Mariusz Felisiak <felisiak.mariusz@gmail.com>
2022-12-15 06:17:57 +01:00
Florian Apolloner
2ebfbd894e
Refs #33308 -- Moved psycopg2 imports to the psycopg_any module.
2022-12-12 08:36:17 +01:00
Florian Apolloner
149b55fefa
Refs #33308 -- Ensured type handlers are registered for all PostgreSQL specific tests.
...
Co-authored-by: Mariusz Felisiak <felisiak.mariusz@gmail.com>
2022-12-01 09:39:46 +01:00
Ben Cail
fbde929b19
Fixed #26056 -- Added QuerySet.values()/values_list() support for ArrayField's __overlap lookup.
...
Thanks Mads Jensen and kosz85 and the initial patch.
2022-11-18 05:53:37 +01:00
Ion Alberdi
3dc9f3ac69
Fixed #34080 -- Fixed __exact lookup when nested arrays contain only NULL values.
...
Thanks jerch and David Sanders for reviews.
2022-11-03 06:59:49 +01:00
Ion Alberdi
34d63d5a41
Refs #34080 -- Added tests for __exact lookup when non-nested arrays contain only NULL values.
2022-11-03 06:39:34 +01:00
Mariusz Felisiak
749cd83e13
Removed hardcoded pks in TestQuerying.test_group_by_order_by_aliases test.
2022-10-07 08:26:41 +02:00
Simon Charette
04518e310d
Refs #33308 -- Enabled explicit GROUP BY and ORDER BY aliases.
...
This ensures explicit grouping from using values() before annotating an
aggregate function groups by selected aliases if supported.
The GROUP BY feature is disabled on Oracle because it doesn't support it.
2022-10-06 09:34:31 +02:00
David Wobrock
897f38fabe
Fixed #33927 -- Fixed crash when displaying ArrayField with choices in admin.
2022-08-23 15:51:42 +02:00
David Smith
d126eba363
Refs #32339 -- Deprecated default.html form template.
...
Co-authored-by: Carlton Gibson <carlton.gibson@noumenal.es>
2022-05-17 11:16:54 +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
7119f40c98
Refs #33476 -- Refactored code to strictly match 88 characters line length.
2022-02-07 20:37:05 +01:00
django-bot
9c19aff7c7
Refs #33476 -- Reformatted code with Black.
2022-02-07 20:37:05 +01:00
Mariusz Felisiak
ca04659b4b
Refs #32355 -- Bumped required psycopg2 version to 2.8.4.
...
psycopg2 2.8.4 is the first release to support Python 3.8.
2021-12-22 20:32:55 +01:00
Hannes Ljungberg
a06b977a91
Fixed #32776 -- Added support for Array subqueries on PostgreSQL.
2021-07-06 07:36:52 +02:00
Mariusz Felisiak
d746f28949
Refs #27095 -- Fixed test_contained_by_including_F_object when run in reverse.
...
Tests should not rely on auto PKs.
Test regression in 33403bf80f
.
2020-12-03 09:30:33 +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
Hannes Ljungberg
33403bf80f
Refs #27095 -- Allowed (non-nested) arrays containing expressions for ArrayField lookups.
2020-11-26 10:57:58 +01:00
Hannes Ljungberg
755b327552
Added test for ArrayField's __contains lookup with subqueries.
2020-11-26 09:36:00 +01:00
David Smith
e74b3d724e
Bumped minimum isort version to 5.1.0.
...
Fixed inner imports per isort 5.
isort 5.0.0 to 5.1.0 was unstable.
2020-07-30 10:58:59 +02:00
Simon Charette
5227101787
Defined output_field of Func() in test_grouping_by_annotations_with_array_field_param().
...
output_field cannot be automatically determined because the first
argument passed to ARRAY_LEN is an ArrayField and the second one is an
integer.
2020-06-24 12:26:36 +02:00
Peter Andersen
02eff7ef60
Fixed #31073 -- Prevented CheckboxInput.get_context() from mutating attrs.
2019-12-10 12:27:50 +01:00
Hasan Ramezani
153c7956f8
Fixed #24858 -- Added support for get_FOO_display() to ArrayField and RangeFields.
...
_get_FIELD_display() crashed when Field.choices was unhashable.
2019-11-08 10:59:24 +01:00
Hasan Ramezani
47379d027b
Fixed #30095 -- Fixed system check for RangeField/ArrayField.choices with lists and tuples.
2019-11-05 11:48:44 +01:00
Hasan Ramezani
8463390527
Refs #27808 -- Added test for saving nested ArrayField with nullable base field.
2019-11-01 15:56:21 +01:00
Pavel Dedik
711a7d4d50
Fixed #30907 -- Fixed SplitArrayField.has_changed() with removal of empty trailing values.
2019-10-28 10:32:34 +01:00
Pavel Dedik
d95b1ddcbe
Refs #30907 -- Added more tests for SplitArrayField.has_changed().
2019-10-28 10:32:05 +01:00
sage
6f82df69ef
Refs #12990 -- Moved CheckFieldDefaultMixin to the django.db.models.fields.mixins.
2019-10-17 12:30:29 +02:00
Mariusz Felisiak
521308e575
Fixed #30715 -- Fixed crash of ArrayField lookups on ArrayAgg annotations over AutoField.
2019-08-23 10:43:08 +02:00
Mariusz Felisiak
0e02e496cd
Added tests for using ArrayField's IndexTransform/SliceTransform on expressions with params.
2019-08-05 14:16:25 +02:00
Chason Chaffin
c238e65e29
Fixed #30596 -- Fixed SplitArrayField.has_changed() for non-string base fields.
...
Thanks to Evgeniy Krysanov for the report and the idea to use to_python.
Thanks to Mariusz Felisiak for the test case.
2019-07-03 13:35:51 +02:00
Tomer Chachamu
ceab25bc6d
Refs #28762 -- Added test for aggregating over a function with ArrayField parameters.
...
Fixed in d87bd29c4f
.
2019-04-18 12:54:19 +02:00
Mariusz Felisiak
654614b38e
Refs #28767 -- Added test for annotating Value() with empty list as an ArrayField.
...
Fixed in 3af695eda2
.
2019-04-18 12:06:39 +02:00
Vinay Karanam
5a36c81f58
Fixed #29391 -- Made PostgresSimpleLookup respect Field.get_db_prep_value().
2019-02-09 18:05:50 -05:00
Simon Charette
7f63b894c0
Adjusted code style of a few test data setup methods.
...
Thanks Mariusz for suggesting it.
2018-11-27 09:48:22 -05:00
Simon Charette
84e7a9f4a7
Switched setUp() to setUpTestData() where possible in Django's tests.
2018-11-27 09:35:17 -05:00
Tim Graham
193c109327
Switched TestCase to SimpleTestCase where possible in Django's tests.
2018-11-27 08:58:44 -05:00
vinay karanam
3af695eda2
Fixed #28291 , #24726 -- Fixed ArrayField with JSONField and RangeFields.
2018-07-27 11:35:54 -04:00
Hasan Ramezani
b33f10d8cc
Refs #29131 -- Made ArrayField error messages index from 1 instead of 0.
2018-04-22 22:18:46 -04:00
Vinay Karanam
6a1957bb98
Fixed #28950 -- Fixed ArrayField.has_changed() for empty values.
2018-04-07 17:53:33 -04:00
Vinay Karanam
e67dc0fbb2
Added tests for ArrayField.has_changed().
2018-04-07 17:48:29 -04:00