Simon Charette
8b1acc0440
Refs #30446 , Refs #34944 -- Fixed crash when adding GeneratedField with string Value().
...
This should allow smarter output_field inferring in functions dealing
with text expressions.
Regression in f333e3513e8bdf5ffeb6eeb63021c230082e6f95.
2023-11-08 15:48:15 +03:00
Simon Charette
8a28e983df
Fixed #34946 -- Preserved db_default on combined default field addition.
...
Regression in 7414704e88d73dafbcfbb85f9bc54cb6111439d3.
2023-11-07 13:32:34 +03:00
Mariusz Felisiak
656192c2c9
Fixed #34941 -- Fixed fetching decimal db_defaults for DecimalFields on Oracle.
...
This is a long standing bug in bc91f27a86090b4c688b56cd4e37f95eebe6e969
that began manifesting in 7414704e88d73dafbcfbb85f9bc54cb6111439d3.
2023-11-03 16:28:04 +01:00
Mariusz Felisiak
7a09ba0962
Refs #34941 -- Skipped OperationTests.test_alter_field_change_nullable_to_decimal_database_default_not_null on Oracle.
2023-11-03 05:29:06 +01:00
David Sanders
797957fb48
Fixed #34936 -- Fixed migration crash for DecimalField with db_default on SQLite.
...
CAST() must be wrapped in parentheses to be recognized as an expression on SQLite.
Regression in 7414704e88d73dafbcfbb85f9bc54cb6111439d3.
2023-11-02 17:57:39 +01:00
Tim Graham
208870b612
Refs #31300 -- Allowed testing GeneratedField without collation.
...
CockroachDB and Snowflake don't support it.
2023-11-02 13:58:46 +01:00
Sarah Boyce
e4d012ca05
Refs #29850 -- Added exclusion support to window frames.
2023-10-30 12:04:55 +01:00
Tom Carrick
34b411762b
Fixed #34932 -- Restored varchar_pattern_ops/text_pattern_ops index creation when deterministic collaction is set.
...
Regression in f3f9d03edf17ccfa17263c7efa0b1350d1ac9278 (4.2) and
8ed25d65ea7546fafd808086fa07e7e5bb5428fc (5.0).
2023-10-30 07:37:40 +01:00
Sarah Boyce
6375cee490
Refs #29850 -- Added RowRange support for positive integer start and negative integer end.
2023-10-28 15:16:07 +02:00
Nick Pope
171f91d9ef
Fixed #34899 -- Added blank choice to forms' callable choices lazily.
2023-10-23 13:44:23 -03:00
Nick Pope
74afcee234
Refs #34899 -- Extracted Field.flatchoices to flatten_choices helper function.
...
Co-authored-by: Natalia Bidart <124304+nessita@users.noreply.github.com>
2023-10-23 13:44:23 -03:00
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