Ekaterina Vahrusheva
55bcbd8d17
Fixed #34378 -- Made QuerySet.in_bulk() not clear odering when id_list is passed.
...
This reverts 340eaded4e30cf25bcd4e9781d33a617fe9c0f84.
2023-03-03 06:00:10 +01:00
Mariusz Felisiak
9953c804a9
Refs #34320 -- Stopped recreating check constraints when renaming fields.
...
This also fixes test_rename_field_with_check_to_truncated_name() on
MariaDB 10.5.2+ as ALTER TABLE ... RENAME COLUMN statement doesn't
rename inline constraints.
2023-03-02 06:05:40 +01:00
Simon Charette
c67ea79aa9
Fixed #34368 -- Made subquery raise NotSupportedError when referencing outer window expression.
...
Regression in f387d024fc75569d2a4a338bfda76cc2f328f627.
Co-authored-by: Jannis Vajen <jvajen@gmail.com>
2023-02-27 07:18:58 +01:00
Simon Charette
b15f162f25
Fixed #34372 -- Fixed queryset crash on order by aggregation using OrderBy.
...
Regression in 278881e37619278789942513916acafaa88d26f3 caused by a lack
of expression copying when an OrderBy expression is explicitly provided.
Thanks Jannis Vajen for the report and regression test.
2023-02-27 07:10:19 +01:00
Laurent Tramoy
2276ec8c21
Fixed #34366 -- Reduced AlterField operations when optimizing migrations.
2023-02-24 13:59:42 +01:00
Mariusz Felisiak
16c966ff7f
Refs #30060 , Refs #34217 -- Made SchemaEditor not generate SQL for CheckConstraint if not supported.
...
The new logic mirrors the logic in SchemaEditor._delete_check_sql()
added in 68ef274bc505cd44f305c03cbf84cf08826200a8.
Thanks Tim Graham for the report.
2023-02-23 21:12:17 +01:00
Xavier Fernandez
5b3d3e400a
Fixed #34338 -- Allowed customizing code of ValidationError in BaseConstraint and subclasses.
2023-02-23 10:58:20 +01:00
Xavier Fernandez
51c9bb7cd1
Refs #33829 -- Added violation_error_message to constraints' __repr__().
2023-02-23 05:35:58 +01:00
Xavier Fernandez
ad18a0102c
Fixed #34355 -- Deprecated passing positional arguments to BaseConstraint.
2023-02-22 09:37:58 +01:00
Mariusz Felisiak
96bc4254ee
Refs #31445 -- Added test for nesting QuerySet.union().
...
This was fixed in MySQL 8.0.31.
2023-02-21 12:47:52 +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 04518e310d4552ff7595a34f5a7f93487d78a406.
2023-02-20 05:54:25 +01:00
Simon Charette
f91e085c30
Refs #34176 -- Adjusted group by position variables naming to follow SQL spec.
...
This avoids conceptual collisions with the notion of indices.
2023-02-18 18:42:49 -05:00
nabil-rady
6bdc3c58b6
Fixed #34320 -- Make sure constraints names are obtained from truncated columns names.
2023-02-15 16:51:31 +01:00
DevilsAutumn
ff3a283422
Fixed #34250 -- Fixed renaming model with m2m relation to a model with the same name.
2023-02-14 14:08:06 +01:00
tschilling
c5808470aa
Fixed #34280 -- Allowed specifying different field values for create operation in QuerySet.update_or_create().
2023-02-14 11:50:35 +01:00
Mariusz Felisiak
2fd755b361
Fixed #34319 -- Fixed Model.validate_constraints() crash on ValidationError with no code.
...
Thanks Mateusz Kurowski for the report.
Regression in 667105877e6723c6985399803a364848891513cc.
2023-02-08 16:38:55 +01:00
Dan Glass
bd366ca2ae
Made PostgreSQL's SchemaEditor._create_index_sql() respect the "sql" argument.
2023-02-06 10:41:08 +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
sage
110b3b8356
Fixed #34304 -- Made MySQL's SchemaEditor.remove_constraint() don't create foreign key index when unique constraint is ignored.
...
Regression in b731e8841558ee4caaba766c83f34ea9c7004f8b.
2023-01-31 11:52:07 +01:00
Mariusz Felisiak
82dad11bfe
Refs #34255 -- Skipped test_group_by_nested_expression_with_params test on PostgreSQL when server-side binding cursors are used.
...
Thanks Tim Graham for the review.
2023-01-27 21:28:10 +01:00
Raj Desai
246eb4836a
Fixed #34254 -- Fixed return value of Exists() with empty queryset.
...
Thanks Simon Charette for reviews.
2023-01-26 19:54:48 +01:00
Mariusz Felisiak
2b1242abb3
Fixed #34291 -- Fixed Meta.constraints validation crash on UniqueConstraint with ordered expressions.
...
Thanks Dan F for the report.
Bug in 667105877e6723c6985399803a364848891513cc.
2023-01-26 09:31:40 +01:00
朱穆穆
d3c93cdc59
Fixed #34227 -- Fixed QuerySet.select_related() with multi-level FilteredRelation.
2023-01-24 10:20:27 +01:00
Matt Westcott
ef85b6bf0b
Fixed #34192 -- Preserved callable storage when it returns default_storage.
2023-01-23 10:29:17 +01:00
Francesco Panico
cc8aa6bf9c
Fixed #34267 -- Fixed sliced QuerySet.union() crash.
...
Regression in 3d734c09ff0138441dfe0a59010435871d17950f.
Thanks Raphaël Stefanini for the report.
2023-01-20 08:51:38 +01:00
Nick Pope
39f83765e1
Refs #32528 -- Simplified MigrationAutodetector._sort_migrations().
2023-01-19 06:34:28 +01:00
Nick Pope
1282b5e420
Fixed #32528 -- Replaced django.utils.topological_sort with graphlib.TopologicalSort().
...
graphlib.TopologicalSort() is available since Python 3.9.
2023-01-19 06:31:40 +01:00
Nick Pope
4470c2405c
Refs #34233 -- Used @functools.cache.
...
Python 3.9+ supports @functools.cache as an alias for
@functools.lru_cache(maxsize=None).
2023-01-18 19:23:18 +01:00
Mariusz Felisiak
23e8868862
Refs #34233 -- Used str.removeprefix()/removesuffix().
2023-01-18 19:11:18 +01:00
Nick Pope
fd21f82aa8
Refs #34233 -- Used types.NoneType.
...
Available since Python 3.10 where it was reintroduced.
2023-01-18 17:27:23 +01:00
Mariusz Felisiak
a04565845a
Refs #34233 -- Referenced isocalendar() results by names not indexes.
...
isocalendar() returns a namedtuple() instead of tuple in Python 3.9+
2023-01-18 12:57:54 +01:00
Mariusz Felisiak
3bbe22dafc
Fixed #34233 -- Dropped support for Python 3.8 and 3.9.
2023-01-18 09:46:01 +01:00
Mariusz Felisiak
94ad46e9d8
Refs #33543 -- Made Expression.asc()/desc() and OrderBy raise ValueError when nulls_first/nulls_last=False is passed.
...
Per deprecation timeline.
2023-01-17 11:49:15 +01:00
Mariusz Felisiak
4d78d7338c
Refs #31486 -- Removed ability to pass unsaved model instances to related filters.
...
Per deprecation timeline.
2023-01-17 11:49:15 +01:00
Mariusz Felisiak
1391356276
Refs #29984 -- Made QuerySet.iterator() without chunk_size raise ValueError after prefetch_related().
...
Per deprecation timeline.
2023-01-17 11:49:15 +01:00
Mariusz Felisiak
2fad163257
Refs #32365 -- Removed is_dst argument for various methods and functions.
...
Per deprecation timeline.
2023-01-17 11:49:15 +01:00
Mariusz Felisiak
e6f82438d4
Refs #32365 -- Removed support for pytz timezones per deprecation timeline.
2023-01-17 11:49:15 +01:00
Mariusz Felisiak
0e2649fdf4
Fixed #34255 -- Made PostgreSQL backend use client-side parameters binding with psycopg version 3.
...
Thanks Guillaume Andreu Sabater for the report.
Co-authored-by: Florian Apolloner <apollo13@users.noreply.github.com>
2023-01-17 08:24:08 +01:00
Mariusz Felisiak
c8a76059ff
Refs #34255 -- Bumped required psycopg version to 3.1.8.
2023-01-17 08:24:08 +01:00
Mariusz Felisiak
648005dee6
Refs #18468 -- Used obj_description() with a catalog name on PostgreSQL.
...
obj_description(object oid) without a catalog name is deprecated since
there is no guarantee that OIDs are unique across different system
catalogs.
Thanks Tim Graham for the report.
2023-01-12 13:23:47 +01:00
Marti Raudsepp
04fdf71933
Refs #30240 -- Fixed argument name for MySQLSHA2Mixin.as_mysql() and PostgreSQLSHAMixin.as_postgresql() methods.
2023-01-09 13:23:08 +01:00
Simon Charette
dd68af62b2
Fixed #34176 -- Fixed grouping by ambiguous aliases.
...
Regression in b7b28c7c189615543218e81319473888bc46d831.
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
Mariusz Felisiak
7d9329935a
Refs #32355 -- Bumped mysqlclient requirement to >= 1.4.3.
...
mysqlclient 1.4.3 is the first release to support Python 3.8.
2023-01-05 16:34:14 +01:00
Simon Charette
0d3ccf7512
Simplified SQLCompiler.get_group_by() a bit.
2023-01-04 08:32:27 +01:00
Mike Crute
0b78ac3fc7
Fixed #34200 -- Made the session role configurable on PostgreSQL.
2023-01-03 09:30:53 +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
kimsoungryoul
78f163a4fb
Fixed #18468 -- Added support for comments on columns and tables.
...
Thanks Jared Chung, Tom Carrick, David Smith, Nick Pope, and Mariusz
Felisiak for reviews.
Co-authored-by: Mariusz Felisiak <felisiak.mariusz@gmail.com>
Co-authored-by: Nick Pope <nick@nickpope.me.uk>
2022-12-28 06:28:07 +01:00
DevilsAutumn
68ef274bc5
Fixed #34217 -- Fixed migration crash when removing check constraints on MySQL < 8.0.16.
2022-12-27 07:11:13 +01:00
朱穆穆
bbeeb45161
Fixed #34226 -- Fixed QuerySet.select_related() with multiple FilteredRelations to the OneToOneField.
2022-12-27 06:39:38 +01:00
Mariusz Felisiak
48b6108e50
Used allow_migrate_model() shortcut in Field._check_backend_specific_checks().
2022-12-24 21:16:22 +01:00