1
0
mirror of https://github.com/django/django.git synced 2025-03-14 11:20:46 +00:00

5581 Commits

Author SHA1 Message Date
David Sanders
b5311ee232 Fixed #34921 -- Fixed crash of warning for unbound naive datetimes. 2023-10-22 14:26:38 +02:00
Simon Charette
3b4a571275 Fixed #34798 -- Fixed QuerySet.aggregate() crash when referencing expressions containing subqueries.
Regression in 59bea9efd2768102fc9d3aedda469502c218e9b7,
complements e5c844d6f2a4ac6ae674d741b5f1fa2a688cedf4.

Refs #28477, #34551.

Thanks Haldun Komsuoglu for the report.
2023-10-16 05:37:30 +02:00
Mariusz Felisiak
296b75a3c0
Fixed #34889 -- Fixed get_prefetch_queryset() fallback in prefetch_one_level().
Thanks Matt Westcott for the report.

Regression in cac94dd8aa2fb49cd2e06b5b37cf039257284bb0.
2023-10-06 20:18:41 +02:00
Simon Charette
ea596a52d9
Refs #33482 -- Fixed QuerySet selecting and filtering againts Exists() with empty queryset.
Thanks Tobias Bengfort for the report.
2023-10-04 21:30:50 +02:00
Paolo Melchiorre
e7e8eb44a3 Fixed #34877 -- Fixed migrations crash when adding GeneratedField with output_field with params. 2023-09-28 05:50:42 +02:00
Mariusz Felisiak
f9e9526800
Fixed #34873 -- Added QuerySet.explain() support for GENERIC_PLAN option on PostgreSQL 16+. 2023-09-26 12:05:26 +02:00
David Sanders
2128a73713 Refs #34825 -- Made SQLite backend open source database in readonly mode when using spawn. 2023-09-25 10:15:53 +02:00
David Sanders
4f2ae0644d Fixed #34849 -- Avoided raising RuntimeWarning about import-time queries when apps are reinitialized with test tools.
Regression in fbd16438f46bc2128926958ad24331da5d1b406f.
2023-09-25 08:17:03 +02:00
Paolo Melchiorre
574ee4023e Fixed #34861 -- Fixed crash when adding GeneratedField with some expressions.
Co-authored-by: Simon Charette <charette.s@gmail.com>
2023-09-22 21:01:54 +02:00
toan
4de31ec680 Fixed #34858 -- Corrected resolving output_field for PositiveIntegerField.
Regression in 40b8a6174f001a310aa33f7880db0efeeb04d4c4.
2023-09-22 09:33:50 +02:00
Mariusz Felisiak
779cd28acb
Fixed #34840 -- Avoided casting string base fields on PostgreSQL.
Thanks Alex Vandiver for the report.

Regression in 09ffc5c1212d4ced58b708cbbf3dfbfb77b782ca.
2023-09-22 06:01:11 +02:00
Mariusz Felisiak
2c6ebb65c9
Fixed #34851 -- Dropped support for PostgreSQL 12 and PostGIS 2.5. 2023-09-20 13:45:51 +02:00
Mariusz Felisiak
3623a0c079
Fixed #34850 -- Dropped support for MariaDB 10.4. 2023-09-19 15:06:05 +02:00
Lily Foote
23df37d53a
Simplified ForeignObject.resolve_related_fields() a bit. 2023-09-19 05:25:35 +02:00
Mariusz Felisiak
5e4c1793b7 Refs #33308 -- Removed support for passing encoded JSON string literals to JSONField & co.
Per deprecation timeline.
2023-09-18 22:12:40 +02:00
Mariusz Felisiak
04eb1b4567 Refs #33872 -- Removed django.contrib.postgres.fields.CIText/CICharField/CIEmailField/CITextField.
Per deprecation timeline.
2023-09-18 22:12:40 +02:00
Mariusz Felisiak
2abf417c81 Refs #27236 -- Removed Meta.index_together per deprecation timeline. 2023-09-18 22:12:40 +02:00
Clément Escolano
cac94dd8aa Fixed #33651 -- Added support for prefetching GenericForeignKey.
Co-authored-by: revanthgss <revanthgss@almabase.com>
Co-authored-by: Mariusz Felisiak <felisiak.mariusz@gmail.com>
2023-09-18 13:23:21 +02:00
Paolo Melchiorre
2f1ab16be5 Fixed #34842 -- Fixed ModelAdmin.readonly_fields crash with GeneratedFields. 2023-09-16 20:13:02 +02:00
Paolo Melchiorre
68d769e691 Fixed #34838 -- Corrected output_field of resolved columns for GeneratedFields.
Thanks Simon Charette for the implementation idea.
2023-09-14 21:17:12 +02:00
Natalia
691f70c477 Fixed #24561 -- Added support for callables on model fields' choices. 2023-09-14 10:15:33 -03:00
Nick Pope
f92e68c30a Fixed #34822 -- Added support for serializing functions decorated with functools.lru_cache in migrations.
`@functools.cache` and `@functools.lru_cache` return an object of type
`functools._lru_cache_wrapper` which prevented the migrations serializer from
working. Simply using the existing `FunctionTypeSerializer` for this additional
type works as expected.
2023-09-13 15:57:18 -03:00
Nick Pope
fe19b33e2f Modernized enumeration helpers on Python 3.11+.
- use @enum.property

https://docs.python.org/3/library/enum.html#enum.property

- use @enum.nonmember

Using @property on an enum class does not yield the expected result.
do_not_call_in_templates attribute works because a @property instance
is truthy. We can make this a literal True value as expected by using
@enum.nonmember in Python 3.11+.

https://docs.python.org/3/library/enum.html#enum.nonmember

- used enum.IntEnum/StrEnum

Python 3.11+ has ReprEnum which uses int.__str__() and str.__str__()
for __str__() in the `IntEnum` and `StrEnum` subclasses. We can emulate
that for Python < 3.11.

https://docs.python.org/3/library/enum.html#enum.ReprEnum
https://docs.python.org/3/library/enum.html#enum.IntEnum
https://docs.python.org/3/library/enum.html#enum.StrEnum
2023-09-13 08:30:21 +02:00
Nick Pope
170b0a47b0 Refs #34233 -- Used @staticmethod with TextChoices._generate_next_value_().
Now that Python 3.10 is the minimum supported version, we can decorate
_generate_next_value_() with @staticmethod. It wasn't possible before
as Python < 3.10 does not support calling static methods direct from
the class body.

https://docs.python.org/3/library/enum.html#enum.Enum._generate_next_value_
2023-09-13 08:22:45 +02:00
Nick Pope
e15174983a Renamed ChoicesMeta to ChoicesType.
This also uses enum.EnumType for Python 3.11+ as Python 3.11 renamed
EnumMeta to EnumType. While the former is still available as an alias
of the latter for now, let's prefer the canonical name for this.

Check out https://docs.python.org/3/library/enum.html#enum.EnumType
2023-09-12 11:51:01 +02:00
Nick Pope
8aa8346466 Removed ChoicesMeta.__contains__() for Python 3.12+.
In Python 3.12 it is possible to check containment using member values,
not just the members themselves.

https://docs.python.org/3/library/enum.html#enum.EnumType.__contains__
2023-09-12 10:17:47 +02:00
donghao
938170008e Fixed #34824 -- Prevented unnecessary AlterField when ForeignObject.from_fields/to_fields is not a tuple. 2023-09-11 08:46:43 +02:00
donghao
71820c9f91 Fixed #34820 -- Fixed migrations crash when changing a ForeignObject field. 2023-09-09 22:15:14 +02:00
Maxime Toussaint
254df3a3bb Fixed #34791 -- Fixed incorrect Prefetch()'s cache for singly related objects.
Changed the cache name used for singly related objects to be the
to_attr parameter passed to a Prefetch object. This fixes issues with
checking if values have already been fetched in cases where the Field
already has some prefetched value, but not for the same model attr.
2023-09-07 12:56:08 +02:00
Jeremy Nauta
f333e3513e Fixed #31300 -- Added GeneratedField model field.
Thanks Adam Johnson and Paolo Melchiorre for reviews.

Co-Authored-By: Lily Foote <code@lilyf.org>
Co-Authored-By: Mariusz Felisiak <felisiak.mariusz@gmail.com>
2023-09-07 06:19:08 +02:00
willzhao
9cc0d7f7f8 Fixed #34803 -- Fixed queryset crash when filtering againts deeply nested OuterRef annotations.
Thanks Pierre-Nicolas Rigal for the report.

Regression in c67ea79aa981ae82595d89f8018a41fcd842e7c9.
2023-09-01 10:44:20 +02:00
David Smith
27b399d235 Fixed #34547 -- Deprecated DatabaseOperations.field_cast_sql(). 2023-08-31 06:18:07 +02:00
Nick Pope
500e01073a
Fixed #31262 -- Added support for mappings on model fields and ChoiceField's choices. 2023-08-30 22:57:40 -03:00
John Whitman
68a8996bdf Fixed #34799 -- Made MySQL introspection skip cross-database relations. 2023-08-30 12:46:15 +02:00
Muzaffer Cikay
1081d24f99
Simplified QuerySet.update_or_create() a bit. 2023-08-25 06:39:35 +02:00
David Sanders
76c3e310dd Fixed #34744 -- Prevented recreation of migration for constraints with a dict_keys.
Co-authored-by: Mariusz Felisiak <felisiak.mariusz@gmail.com>
2023-08-23 11:42:18 +02:00
Florian Zimmermann
fbd16438f4 Fixed #33143 -- Raised RuntimeWarning when performing import-time queries. 2023-08-21 13:44:25 +02:00
Mariusz Felisiak
bd2ff65fdd
Fixed DatabaseCreation.get_test_db_clone_settings() for empty database name on SQLite.
Empty string should be considered an in-memory SQLite database.
2023-08-20 21:53:40 +02:00
Francesco Panico
59f4754704 Fixed #34362 -- Fixed FilteredRelation() crash on conditional expressions.
Thanks zhu for the report and Simon Charette for reviews.
2023-08-11 12:32:18 +02:00
Francesco Panico
1506f498fe Fixed #34743 -- Fixed Meta.constraints validation crash when using pk.
Thanks Nwawel A Iroume for the report.
2023-08-11 08:51:29 +02:00
Jingbei Li
9946f0b0d9 Fixed #33817 -- Added support for python-oracledb and deprecated cx_Oracle. 2023-08-10 10:11:53 +02:00
Mariusz Felisiak
59f13ce545
Fixed DatabaseFeatures.supports_primitives_in_json_field on Oracle 21c+. 2023-08-10 08:59:29 +02:00
Mariusz Felisiak
80a5667c50
Refs #34233 -- Bumped required cx_Oracle to 8.3.
This bumps minimum supported versions of cx_Oracle to the first release
to support Python 3.10.
2023-08-09 12:41:47 +02:00
Mariana
e02fc58889 Fixed #34586 -- Made QuerySet.create() raise ValueError for reverse one-to-many relations. 2023-08-09 06:59:40 +02:00
Simon Charette
3434dbd39d Fixed #34754 -- Fixed JSONField check constraints validation on NULL values.
The __isnull lookup of JSONField must special case
Value(None, JSONField()) left-hand-side in order to be coherent with
its convoluted null handling.

Since psycopg>=3 offers no way to pass a NULL::jsonb the issue is
resolved by optimizing IsNull(Value(None), True | False) to
True | False.

Regression in 5c23d9f0c32f166c81ecb6f3f01d5077a6084318.

Thanks Alexandre Collet for the report.
2023-08-04 10:14:03 +02:00
Mariusz Felisiak
2b582387d5
Fixed #34760 -- Dropped support for SQLite < 3.27. 2023-08-04 06:35:13 +02:00
Mariusz Felisiak
4555a823fd
Refs #33713 -- Removed unnecessary version check in DatabaseFeatures.update_can_self_select on MariaDB.
Follow up to 19297de2fe5a9c47e471c64249366f39fe12f16a.
2023-08-03 19:44:36 +02:00
Mariusz Felisiak
b719688b21
Fixed #34761 -- Dropped support for MySQL < 8.0.11. 2023-08-03 18:54:29 +02:00
Mariusz Felisiak
9b9c805ced
Removed unneeded escapes in regexes.
Special characters lose their special meaning inside sets of characters.

"-" lose its special meaning if it's placed as the first or last
character.

Follow up to 7c6b66383da5f9a67142334cd2ed2d769739e8f1.
2023-08-02 19:53:16 +02:00
Albert Defler
7cd187a5ba Fixed #33507 -- Used UUID data type on MariaDB 10.7+.
Co-Authored-By: Mariusz Felisiak <felisiak.mariusz@gmail.com>
2023-08-02 14:11:04 +02:00