summaryrefslogtreecommitdiff
path: root/django/db
AgeCommit message (Collapse)Author
2019-11-22Fixed #8467 -- Prevented crash when adding existent m2m relation with an ↵Simon Charette
invalid type. This was an issue anymore on backends that allows conflicts to be ignored (Refs #19544) as long the provided values were coercible to the expected type. However on the remaining backends that don't support this feature, namely Oracle, this could still result in an IntegrityError. By attempting to coerce the provided values to the expected types in Python beforehand we allow the existing value set intersection in ManyRelatedManager._get_missing_target_ids to prevent the problematic insertion attempts. Thanks Baptiste Mispelon for triaging this old ticket against the current state of the master branch.
2019-11-21Fixed #30413 -- Fixed test database signature on SQLite when test database ↵Farhaan Bukhsh
name is provided. Previously, the same signature was created for multiple in-memory databases on SQLite when they had tests databases names DATABASES['TEST']['NAME'].
2019-11-21Refs #25367 -- Made Query.build_filter() raise TypeError on non-conditional ↵Simon Charette
expressions.
2019-11-21Fixed #30484 -- Added conditional expressions support to CheckConstraint.Simon Charette
2019-11-21Refs #25367 -- Moved conditional expression wrapping to the Exact lookup.Simon Charette
2019-11-21Refs #11964 -- Removed SimpleCol in favor of Query(alias_cols).Simon Charette
This prevent having to pass simple_col through multiple function calls by defining whether or not references should be resolved with aliases at the Query level.
2019-11-20Fixed #25388 -- Added an option to allow disabling of migrations during test ↵Jon Dufresne
database creation.
2019-11-19Fixed #27272 -- Added an on_delete RESTRICT handler to allow cascading ↵Daniel Izquierdo
deletions while protecting direct ones.
2019-11-19Refs #27272 -- Added Collector.add_dependency().Daniel Izquierdo
2019-11-19Fixed #30987 -- Added models.PositiveBigIntegerField.Caio Ariede
2019-11-18Replaced unnecessary str()/bytes() calls with literals.Jon Dufresne
2019-11-18Fixed #30988 -- Deprecated the InvalidQuery exception.Simon Charette
It was barely documented without pointers at its defining location and was abused to prevent misuse of the QuerySet field deferring feature.
2019-11-18Replaced QueryWrapper single usage with RawSQL.Simon Charette
2019-11-18Fixed #30986 -- Fixed queryset crash when filtering against boolean RawSQL ↵Mariusz Felisiak
expressions on Oracle.
2019-11-15Fixed #29808 -- Fixed initial migration detection when identifiers are ↵Hasan Ramezani
case-insensitive. Thanks Simon Charette for the review.
2019-11-15Refs #29808 -- Optimized MigrationExecutor.detect_soft_applied().Hasan Ramezani
Use set() for iterables used only for containment checks. Simplify column checks O(n) instead of O(2n). Thanks Simon Charette for an idea.
2019-11-13Fixed #30971 -- Prevented Query.resolve_lookup_value() from coercing list ↵George Marshall
values to tuples. Regression in 8a281aa7fe76a9da2284f943964a9413697cff1f.
2019-11-08Fixed #24858 -- Added support for get_FOO_display() to ArrayField and ↵Hasan Ramezani
RangeFields. _get_FIELD_display() crashed when Field.choices was unhashable.
2019-11-08Fixed #30961 -- Fixed spaces in columns list SQL generated for indexes.Hannes Ljungberg
2019-11-07Fixed #30943 -- Added BloomIndex to django.contrib.postgres.Nick Pope
2019-11-07Refs #29983 -- Added support for using pathlib.Path in all settings.Jon Dufresne
2019-11-05Refs #30095 -- Added Field._choices_is_value().Hasan Ramezani
This allows fields classes to override the validation of choices' values.
2019-11-05Fixed DatabaseFeatures.has_select_for_update_nowait on MariaDB 10.3+.Mariusz Felisiak
Thanks Kola Erinoso for the report.
2019-11-04Refs #13312 -- Simplified handling of nulls ordering on MySQL.Nick Pope
MySQL & MariaDB support the standard IS NULL and IS NOT NULL so the same workaround used for NULLS FIRST and NULLS LAST that is used for SQLite < 3.30.0 can be used. Thanks Simon Charette for the discussion.
2019-11-04Fixed #30931 -- Restored ability to override Model.get_FIELD_display().Carlton Gibson
Thanks Sergey Fedoseev for the implementation idea. Regression in a68ea231012434b522ce45c513d84add516afa60.
2019-10-31Refs #13312 -- Removed unnecessary IF wrapping in nulls_last handling on MySQL.Simon Charette
ISNULL function already returns 0 and 1 on MySQL.
2019-10-31Refs #30095 -- Simplified Field._check_choices() a bit.Mariusz Felisiak
Using an internal is_value() hook to check whether Field.choices is iterable is misleading.
2019-10-31Refs #23576 -- Disabled MySQL multi-alias deletion path on MariaDB 10.3.2+.Simon Charette
2019-10-29Fixed #30899 -- Lazily compiled import time regular expressions.Hasan Ramezani
2019-10-25Fixed #30902 -- Added __str__() for model choice enums.Carlton Gibson
Allows expected behavior when cast to str, also matching behaviour of created instances with those fetched from the DB. Thanks to Simon Charette, Nick Pope, and Shai Berger for reviews.
2019-10-24Refs #30897 -- Added support for ANALYZE option to Queryset.explain() on ↵Nick Pope
MariaDB and MySQL 8.0.18+.
2019-10-24Refs #30897 -- Added support for TREE format to Queryset.explain() on MySQL ↵Nick Pope
8.0.16+.
2019-10-24Fixed #23576 -- Implemented multi-alias fast-path deletion in MySQL backend.Simon Charette
This required moving the entirety of DELETE SQL generation to the compiler where it should have been in the first place and implementing a specialized compiler on MySQL/MariaDB. The MySQL compiler relies on the "DELETE table FROM table JOIN" syntax for queries spanning over multiple tables.
2019-10-24Fixed DatabaseFeatures.update_can_self_select on MariaDB 10.3.2+.Mariusz Felisiak
2019-10-24Fixed #30903 -- Fixed migrations crash on PostgreSQL when adding Index with ↵Hannes Ljungberg
opclasses and ordering.
2019-10-23Refs #30897 -- Added test for SETTINGS option to Queryset.explain() on ↵Nick Pope
PostgreSQL 12+.
2019-10-23Fixed #29919 -- Fixed RelatedOnlyFieldListFilter crash with reverse ↵Dan Moore
relationships.
2019-10-21Fixed #20577 -- Deferred filtering of prefetched related querysets.Alex Aktsipetrov
Added internal interface to QuerySet that allows to defer next filter call till .query is accessed. Used it to optimize prefetch_related(). Thanks Simon Charette for the review.
2019-10-21Adjusted QuerySet._filter_or_exclude() call to use negated=False, rather ↵Alex Aktsipetrov
than None. None was a remnant from the times _filter_or_exclude accepted qtype/mapper as the first arg.
2019-10-21Fixed #30827 -- Made batch_size arg of QuerySet.bulk_create() respect ↵Ahmet Kucuk
DatabaseOperations.bulk_batch_size(). Thanks Chetan Khanna for tests.
2019-10-21Fixed #30876 -- Moved classproperty() decorator to the django.utils.functional.André Ericson
2019-10-21Fixed #30841 -- Deprecated using non-boolean values for isnull lookup.André Ericson
2019-10-17Refs #28816 -- Prevented silencing data loss when decreasing ↵Hasan Ramezani
CharField.max_length for ArrayField.base_field on PostgreSQL.
2019-10-17Refs #12990 -- Moved CheckFieldDefaultMixin to the ↵sage
django.db.models.fields.mixins.
2019-10-16Fixed #30885 -- Dropped support for MariaDB 10.1.Mariusz Felisiak
2019-10-15Fixed #30859 -- Fixed DatabaseFeatures.supports_aggregate_filter_clause on ↵Mariusz Felisiak
SQLite 3.30.1+.
2019-10-14Fixed #30868 -- Prevented unnecessary AlterField when renaming a referenced pk.Simon Charette
Regression introduced by dcdd219ee1, refs #25817. Thanks Carlos E. C. Leite for the report and Mariusz for the bisect.
2019-10-11Fixed #30854 -- Fixed QuerySet.select_related() with multiple FilteredRelations.Hasan Ramezani
2019-10-11Refs #30854 -- Moved local_setter() outside the loop in ↵Hasan Ramezani
SQLCompiler.get_related_selections().
2019-10-10Fixed #30300 -- Allowed migrations to be loaded from directories without ↵Benjy Weinberger
__init__.py file.