Mariusz Felisiak
881362986a
Fixed "byte string" typo in various docs and comments.
2019-03-28 10:00:12 +01:00
Mariusz Felisiak
2a431db0f5
Fixed #28621 -- Fixed crash of annotations with OuterRef.
2019-03-27 08:24:05 +01:00
Hasan Ramezani
981dd6dd71
Fixed #28431 -- Added a system check for BinaryField to prevent strings defaults.
...
Thanks Claude Paroz for the initial patch.
2019-03-25 20:04:35 +01:00
Simon Charette
1ca825e4dc
Fixed #30246 -- Reused annotation aliases references in aggregation filters.
...
Thanks Jan Baryła for the detailed report and the reduced test case.
2019-03-23 10:11:45 -04:00
Simon Charette
3f32154f40
Refs #30188 -- Avoided GROUP BY when aggregating over non-aggregates.
2019-03-23 10:11:41 -04:00
Simon Charette
d1e9c25162
Refs #30188 -- Prevented double annotation of subquery when aggregated over.
...
Thanks Can Sarıgöl for the suggested trimming approach.
2019-03-23 09:50:42 -04:00
Simon Charette
bdc07f176e
Fixed #30188 -- Fixed a crash when aggregating over a subquery annotation.
2019-03-23 09:48:31 -04:00
Simon Charette
f19a4945e1
Fixed #21703 -- Fixed a crash when excluding a related field with a F().
2019-03-23 09:48:28 -04:00
Matthias Kestenholz
ea071870f9
Fixed #30280 -- Restored Model.get_FIELD_display()'s coercion of lazy strings.
...
Reverted cc79c7ee63
.
2019-03-22 12:30:10 -04:00
Nick Pope
d26b242443
Fixed #30271 -- Added the Sign database function.
2019-03-22 12:52:39 +01:00
Simon Charette
5935a9aead
Removed obsolete Lookup hook to prepare rhs expressions.
...
After 3a505c70e7
, all _prepare() methods
return self.
2019-03-21 20:54:21 -04:00
Simon Charette
3a505c70e7
Refs #27149 , #29542 -- Simplified subquery parentheses wrapping logic.
2019-03-21 20:42:26 -04:00
Simon Charette
3543129822
Refs #27149 -- Moved subquery expression resolving to Query.
...
This makes Subquery a thin wrapper over Query and makes sure it respects
the Expression source expression API by accepting the same number of
expressions as it returns. Refs #30188 .
It also makes OuterRef usable in Query without Subquery wrapping. This
should allow Query's internals to more easily perform subquery push downs
during split_exclude(). Refs #21703 .
2019-03-21 20:36:31 -04:00
Simon Charette
96b6ad94d9
Refs #27149 -- Made Subquery store Query instead of Queryset.
...
Subquery only uses Query.
2019-03-21 20:02:51 -04:00
Simon Charette
fb3f034f1c
Fixed #30158 -- Avoided unnecessary subquery group by on aggregation.
...
Subquery annotations can be omitted from the GROUP BY clause on aggregation
as long as they are not explicitly grouped against.
Thanks Jonny Fuller for the report.
2019-03-21 18:48:41 -04:00
Simon Charette
9dc367dc10
Refs #30158 -- Added alias argument to Expression.get_group_by_cols().
2019-03-21 18:47:46 -04:00
Nick Pope
0b70985f42
Fixed #30240 -- Added SHA1, SHA224, SHA256, SHA384, and SHA512 database functions.
...
Thanks Mariusz Felisiak and Tim Graham for reviews.
2019-03-20 19:30:43 +01:00
Simon Charette
386d89ab55
Fixed #30258 -- Adjusted postgres schema value quoting of ranges.
...
Thanks Tilman Koschnick for the report and patch.
2019-03-18 09:05:39 +01:00
Paveł Tyślacki
5c17c273ae
Refs #30172 -- Prevented removing a model Meta's index/unique_together from removing Meta constraints/indexes.
2019-03-17 20:50:57 -04:00
Paveł Tyślacki
4bb859e246
Refs #30172 -- Prevented removing a field's check or unique constraint from removing Meta constraints.
2019-03-17 20:50:22 -04:00
Matt Westcott
58ad030d05
Fixed #30254 -- Allowed model metaclasses to access the attribute dict in __init__().
...
Regression in a68ea23101
.
2019-03-14 21:05:23 -04:00
Paveł Tyślacki
782d85b6df
Fixed #30183 -- Added introspection of inline SQLite constraints.
2019-03-13 10:24:28 -04:00
Hang Park
142e1ead76
Fixed #30242 -- Removed extra space before LIMIT/OFFSET SQL.
2019-03-09 21:32:20 +01:00
Tim Schilling
371ddade1e
Refs #30186 -- Changed MigrationRecorder.applied_migrations() to return a dict.
2019-03-07 19:36:55 -05:00
ahbk
d527639804
Fixed #29754 -- Added is_dst parameter to Trunc database functions.
2019-03-07 10:02:18 -05:00
avas9366
9681e968eb
Fixed #30232 -- Corrected expected format in invalid DurationField error message.
2019-03-04 19:25:27 -05:00
Paveł Tyślacki
4492be348a
Refs #30183 -- Moved SQLite table constraint parsing to a method.
2019-03-01 17:05:36 -05:00
Paveł Tyślacki
b777c0675e
Unified nonexistent foreign key introspection value for SQLite.
2019-03-01 15:51:37 -05:00
Mariusz Felisiak
f69c7bbdce
Refs #29408 -- Cosmetic edits for validation of related fields and lookups in model Meta.ordering.
...
Follow up to 440505cb2c
.
2019-03-01 19:38:21 +01:00
Hasan Ramezani
440505cb2c
Fixed #29408 -- Added validation of related fields and lookups in model Meta.ordering.
2019-03-01 17:09:33 +01:00
Matthias Kestenholz
e04209e181
Refs #30179 -- Moved topological sort functions to django.utils.
2019-02-25 15:44:49 -05:00
Simon Charette
de7f6b51b2
Refs #19544 -- Added a fast path for through additions if supported.
...
The single query insertion path is taken if the backend supports inserts
that ignore conflicts and m2m_changed signals don't have to be sent.
2019-02-21 10:20:47 -05:00
Simon Charette
28712d8acf
Refs #19544 -- Ignored auto-created through additions conflicts if supported.
...
This prevents IntegrityError caused by race conditions between missing ids
retrieval and bulk insertions.
2019-02-21 10:20:47 -05:00
Simon Charette
dd32f9a3a2
Refs #19544 -- Extracted ManyRelatedManager.add() missing ids logic to a method.
2019-02-21 10:20:47 -05:00
Mariusz Felisiak
9ff18c08c3
Refs #28643 -- Added MD5 database function.
...
Thanks Tim Graham, Nick Pope and Simon Charette for reviews.
2019-02-21 10:52:51 +01:00
Ran Benita
21ff23bfeb
Removed an outdated comment on DefaultConnectionProxy.
2019-02-20 11:30:51 -05:00
Simon Charette
7071f8f272
Fixed #30193 , Refs #28478 -- Avoided PostgreSQL connection health checks on initialization.
...
This addressed a regression introduced by a96b901932
as identified by Ran Benita.
2019-02-20 10:59:40 +01:00
Hasan Ramezani
741ce81a42
Fixed #29619 -- Added field names to some FieldErrors.
2019-02-14 18:58:08 -05:00
Jon Dufresne
76990cbbda
Fixed #30171 -- Fixed DatabaseError in servers tests.
...
Made DatabaseWrapper thread sharing logic reentrant. Used a reference
counting like scheme to allow nested uses.
The error appeared after 8c775391b7
.
2019-02-14 10:04:55 -05:00
Daniel Bowring
cf826c9a91
Fixed #30173 -- Simplified db.backends.postgresql.client.
2019-02-13 17:12:02 -05:00
Dan Davis
2bd8df243a
Fixed #30184 -- Removed ellipsis characters from shell output strings.
...
Partially reverted 50b8493581
(refs #29654 )
to avoid a crash when the user shell doesn't support non-ASCII characters.
2019-02-13 13:59:44 -05:00
Sergey Fedoseev
1933e56eca
Removed uneeded generator expressions and list comprehensions.
2019-02-09 09:18:48 -05:00
Simon Charette
b8c48d06fa
Refs #26608 -- Added a database feature for fixed frame range distance support.
2019-02-09 08:47:41 -05:00
Simon Charette
64d5bafbc6
Fixed #30027 -- Errored out on Window function usage if unsupported.
2019-02-09 08:47:41 -05:00
Simon Charette
ebd2fe1861
Refs #30027 -- Enabled window function tests on SQLite 3.25+.
2019-02-09 08:47:40 -05:00
Sergey Fedoseev
eefc9550fd
Simplified Window.as_sql().
2019-02-09 08:41:35 -05:00
Mariusz Felisiak
759a9b710c
Updated Oracle docs links to Oracle 18c.
2019-02-07 09:59:47 +01:00
Tim Graham
77d25dbd0f
Refs #27753 -- Favored SafeString over SafeText.
2019-02-06 14:12:06 -05:00
Aymeric Augustin
3bb6a4390c
Refs #27753 -- Favored force/smart_str() over force/smart_text().
2019-02-06 14:12:06 -05:00
Nick Pope
24b82cd201
Fixed #30159 -- Removed unneeded use of OrderedDict.
...
Dicts preserve order since Python 3.6.
2019-02-06 13:48:39 -05:00
Mariusz Felisiak
21bb71ef0d
Fixed #30157 -- Dropped support for Oracle 12.1.
...
Thanks Tim Graham for the review.
2019-02-06 19:25:04 +01:00
Tim Graham
39ebdf5a3c
Fixed #30155 -- Dropped support for PostgreSQL 9.4 and PostGIS 2.1.
2019-02-04 18:07:02 -05:00
Tim Graham
d47498c5df
Fixed #30156 -- Dropped support for SpatiaLite 4.1 and 4.2.
2019-02-04 13:16:38 -05:00
Mariusz Felisiak
85f924a9b9
Refs #28859 -- Simplified fetch_returned_insert_id() by using int data type for binding variable on Oracle.
2019-02-04 16:31:23 +01:00
Jon Dufresne
290d8471bb
Fixed #30147 -- Simplified directory creation with os.makedirs(..., exist_ok=True).
2019-01-31 12:53:36 -05:00
Johannes Hoppe
b131f9c79f
Refs #29444 -- Renamed DatabaseFeatures.can_return_id* to be generic for other columns.
2019-01-30 15:31:56 -05:00
Joshua Cannon
16a5a2a2c8
Fixed #30076 -- Added Model.get_FOO_display() even if field's choices are empty.
2019-01-30 13:44:10 -05:00
Tim Graham
7e6b214ed3
Fixed #30116 -- Dropped support for Python 3.5.
2019-01-30 10:19:48 -05:00
Mariusz Felisiak
5a5c77d55d
Fixed E117 and F405 flake8 warnings.
2019-01-30 13:06:09 +01:00
Dan Tao
738faf9da2
Fixed #30108 -- Allowed adding foreign key constraints in the same statement that adds a field.
2019-01-29 15:42:57 -05:00
Tim Graham
7444f32527
Refs #30055 -- Added a helpful error when SQLite is too old.
2019-01-28 11:14:45 -05:00
Jon Dufresne
7e3bf2662b
Removed default mode='r' argument from calls to open().
2019-01-27 17:41:43 -05:00
Nick Pope
bff748df3e
Fixed #30115 -- Fixed SQLite introspection crash with a varchar primary key.
...
Removed obsolete max_length handling for CharField that caused the issue.
Regression in a35d2a4510
.
2019-01-22 19:02:34 -05:00
Nick Pope
e19f58fc01
Inlined DatabaseIntrospection._table_info() for SQLite.
2019-01-22 18:23:37 -05:00
Nasir Hussain
2804b8d215
Fixed #30111 -- Fixed AppRegistryNotReady error with django.contrib.postgres in INSTALLED_APPS.
...
Regression in e192223ed9
.
2019-01-22 17:49:30 -05:00
Simon Charette
8d2dcc47cd
Fixed #30106 -- Made order_with_respect_to updates use QuerySet.bulk_update().
2019-01-21 17:02:20 -05:00
Simon Charette
65858119d2
Fixed #30120 -- Fixed invalid SQL in distinct aggregate.
...
Regression in bc05547cd8
(refs #28658 ).
2019-01-21 09:24:32 -05:00
Mariusz Felisiak
709a8b861d
Optimized Oracle PKs introspection by adding get_primary_key_column().
2019-01-18 16:50:06 +01:00
Tim Graham
da1de1615c
Refs #28750 -- Removed suppport for model Meta.manager_inheritance_from_future.
2019-01-17 11:15:27 -05:00
Tim Graham
1fecde6be9
Refs #11557 -- Removed the field_name keyword argument to QuerySet.earliest() and latest().
...
Per deprecation timeline.
2019-01-17 10:52:19 -05:00
Tim Graham
da5eb3d56c
Refs #28370 -- Removed support for the context arg of Field.from_db_value() and Expression.convert_value().
...
Per deprecation timeline.
2019-01-17 10:52:19 -05:00
Tim Graham
944469939b
Refs #25175 -- Removed db.backends.postgresql_psycopg2 per deprecation timeline.
2019-01-17 10:50:25 -05:00
Simon Charette
9e5e5a657b
Fixed #30044 -- Raised a FieldError on inherited field update attempts.
2019-01-16 14:09:51 -05:00
Simon Charette
dbcf2ffa77
Refs #9475 -- Simplified dictionary unpacking.
2019-01-16 09:20:15 -05:00
Nick Pope
d212bc03ba
Refs #9475 -- Fixed typo, used unpacking generalization, and made through_defaults kwarg-only.
2019-01-15 13:03:08 -05:00
Collin Anderson
769355c765
Fixed #9475 -- Allowed RelatedManager.add(), create(), etc. for m2m with a through model.
2019-01-15 11:12:17 -05:00
Nasir Hussain
f021c110d0
Fixed #30099 -- Fixed invalid SQL when filtering a Subquery by an aggregate.
2019-01-15 07:22:59 -05:00
Jon Dufresne
ad7aa02c1d
Removed unnecessary string formatting of strings.
2019-01-14 21:04:00 -05:00
Simon Charette
a96b901932
Refs #28478 -- Prevented timezone assignment for unusable PostgreSQL connections.
2019-01-14 16:05:00 -05:00
Nick Pope
846624ed08
Refs #28643 -- Extracted DurationField logic for Avg() and Sum() into mixin.
...
Also addresses Sum() not handling the filter option correctly.
2019-01-14 14:39:57 -05:00
Nick Pope
6d4efa8e6a
Refs #28643 -- Changed Variance() to use NumericOutputFieldMixin.
...
Keeps precision instead of forcing DecimalField to FloatField.
2019-01-14 14:39:46 -05:00
Nick Pope
e85afa5943
Refs #28643 -- Changed StdDev() to use NumericOutputFieldMixin.
...
Keeps precision instead of forcing DecimalField to FloatField.
2019-01-14 14:38:00 -05:00
Nick Pope
c690afb873
Refs #28643 -- Changed Avg() to use NumericOutputFieldMixin.
...
Keeps precision instead of forcing DecimalField to FloatField.
2019-01-14 14:35:41 -05:00
Nick Pope
3d5e0f8394
Refs #28643 -- Moved db function mixins to a separate module.
2019-01-14 14:26:46 -05:00
Nick Pope
7f1577d1ef
Avoided calling as_oracle() for SQLite in Left database function.
2019-01-14 13:02:58 -05:00
Nick Pope
ae65eed68d
Corrected comment in TruncTime database function.
2019-01-14 13:02:58 -05:00
Nick Pope
0d7ba0ff8b
Simplified overriding source expressions in some database functions.
2019-01-14 13:02:58 -05:00
Sergey Fedoseev
b86bb47818
Fixed #30093 -- Fixed ordering of combined queryset ordered by F expressions.
2019-01-14 10:28:11 -05:00
Tom Forbes
c8720e7696
Fixed #27685 -- Added watchman support to the autoreloader.
...
Removed support for pyinotify (refs #9722 ).
2019-01-13 20:33:47 -05:00
Nick Pope
abf8e390a4
Refs #28643 -- Added Reverse database function.
...
Thanks Mariusz Felisiak for Oracle advice and review.
2019-01-12 10:45:48 -05:00
Paveł Tyślacki
b69f8eb04c
Fixed #30062 -- Added support for unique conditional constraints.
2019-01-12 09:50:20 -05:00
Paveł Tyślacki
1e837c4b23
Used None as the empty value for condition in Index's SQL construction.
2019-01-12 09:34:10 -05:00
can
7d3b3897c1
Refs #29738 -- Allowed registering serializers with MigrationWriter.
2019-01-11 18:13:16 -05:00
Tim Graham
8f4eee1777
Moved django.db.migrations.writer.SettingsReference to django.conf.
...
Reduces the possibility of circular imports.
2019-01-11 15:28:22 -05:00
Paveł Tyślacki
647be06538
Renamed variables after generalization of constraints.
...
Follow up to 8eae094638
.
2019-01-10 18:54:41 -05:00
Mads Jensen
4b9d72210f
Refs #28643 -- Added NullIf database function.
...
Thanks Nick Pope, Mariusz Felisiak, and Tim Graham for reviews.
2019-01-10 12:10:12 -05:00
Simon Charette
bc05547cd8
Fixed #28658 -- Added DISTINCT handling to the Aggregate class.
2019-01-09 17:52:36 -05:00
Benjy Weinberger
222caab68a
Fixed #30071 -- Fixed error message when a 'default' database isn't provided.
2019-01-09 10:58:37 -05:00
Nick Pope
a35d2a4510
Refs #23748 -- Added AutoField introspection for SQLite.
2019-01-09 09:59:15 -05:00
Nick Pope
e7f0e9b704
Renamed import in MySQL introspection backend for consistency.
2019-01-09 08:12:45 -05:00
Nick Pope
99b3ab2781
Simplified some imports for database functions.
...
Used more specific modules to reduce the risk of circular imports.
2019-01-08 19:21:31 -05:00
Mariusz Felisiak
97844a3213
Fixed typo in django/db/backends/base/features.py.
2019-01-03 20:10:33 +01:00
Tim Graham
0004daa536
Used 4 space hanging indent for dictionaries.
...
Thanks Mariusz Felisiak for auditing.
2019-01-02 18:18:19 -05:00
Paveł Tyślacki
0123b67f6b
Fixed #30060 -- Moved SQL generation for indexes and constraints to SchemaEditor.
2019-01-01 09:39:58 -05:00
Tim Graham
100b8dd163
Renamed QuerySet.earliest()/latest() helper method.
2018-12-30 11:43:39 -05:00
Mariusz Felisiak
dd8ed64113
Fixed #29851 -- Fixed crash of annotations with window expressions in Subquery.
2018-12-27 20:21:57 +01:00
Tim Graham
b74b6736d0
Refs #29547 -- Skipped an unsupported partial index test on older versions of SQLite.
...
Follow up to e5b8626c0e
.
2018-12-26 11:20:11 -05:00
Simon Charette
ec7bf6d826
Refs #20483 -- Cached Oracle references retrieval on sql_flush().
2018-12-26 09:20:21 -05:00
Simon Charette
2b2ae4eeb7
Refs #30054 , #20483 -- Cached SQLite references graph retrieval on sql_flush().
2018-12-26 09:19:44 -05:00
Nick Pope
83677faf86
Fixed #30056 -- Added SQLite support for StdDev and Variance functions.
2018-12-24 11:14:58 -05:00
Nick Pope
e626a3f993
Renamed Sqlite and Sqlite3 references to SQLite.
2018-12-22 18:52:54 -05:00
Sergey Fedoseev
a68ea23101
Fixed #29970 , #30041 -- Made ModelBase.__new__() pass attrs without contribute_to_class() to type.__new__().
2018-12-22 18:11:24 -05:00
Simon Charette
ce8b65ac5e
Fixed #30054 -- Implemented cascaded flush on SQLite.
...
This is required to maintain foreign key integrity when using
TransactionTestCase.available_apps.
Refs #30033 , #14204 , #20483 .
2018-12-22 17:47:48 -05:00
Tim Graham
d5af14aa84
Fixed #30055 -- Dropped support for SQLite < 3.8.3.
2018-12-22 16:59:28 -05:00
Simon Charette
790d108c97
Refs #30033 -- Checked constraints before committing SQLite schema changes.
...
This order of operations is more in line with SQLite's documented table
rebuild procedure and ensures that changes aren't committed if foreign key
integrity is broken.
2018-12-22 15:26:46 -05:00
Simon Charette
6b9bd0933e
Refs #29928 -- Added supports_pragma_foreign_key_check SQLite feature flag.
2018-12-22 15:14:33 -05:00
Simon Charette
f3eb1cfb58
Refs #29928 -- Corrected SQLite's can_defer_constraint_checks feature flag.
2018-12-22 15:13:46 -05:00
Simon Charette
25a0781a16
Refs #29182 -- Corrected SQLite's supports_atomic_references_rename feature flag.
2018-12-22 14:58:08 -05:00
Simon Charette
e5b8626c0e
Refs #29547 -- Corrected SQLite's supports_partial_indexes feature flag.
2018-12-22 14:51:59 -05:00
Simon Charette
20f6f9eaa1
Renamed SQLite3 references to to SQLite.
...
The version suffix isn't part of the product name.
2018-12-22 14:20:43 -05:00
Dakota Hawkins
8d3147e130
Fixed #30031 -- Added --no-header option to makemigrations/squashmigrations.
2018-12-19 12:41:31 +01:00
Simon Charette
1939dd49d1
Fixed #29928 -- Enabled deferred constraint checks on SQLite 3.20+.
...
Refs #11665 , #14204 .
Thanks Michel Samia for the report.
2018-12-17 11:03:44 +01:00
Simon Charette
894cb13779
Refs #29182 -- Stopped relying on legacy alter table semantic on SQLite 3.26+.
...
SQLite 3.26 changed the behavior of table and column renaming operations to
repoint foreign key references even if foreign key checks are disabled.
This makes the workarounds in place to simulate this behavior unnecessary on
SQLite 3.26+. Refs #30033 .
2018-12-17 10:44:05 +01:00
Simon Charette
7289874adc
Fixed #30033 -- Conformed to the recommended table alterations procedure on SQlite3.
...
Refs #29182 .
The previous implementation was following a procedure explicitly documented
as incorrect and was the origin of the breakage experienced on SQLite 3.26
release that were addressed by c8ffdbe514
.
Thanks to Richard Hipp for pointing out the usage of the incorrect procedure.
2018-12-17 10:44:05 +01:00
Simon Charette
a939d630a4
Refs #29928 -- Implemented fast constraint checking on SQLite 3.20+.
2018-12-17 10:44:05 +01:00
Simon Charette
315357ad25
Fixed #30023 -- Prevented SQLite schema alterations while foreign key checks are enabled.
...
Prior to this change foreign key constraint references could be left pointing
at tables dropped during operations simulating unsupported table alterations
because of an unexpected failure to disable foreign key constraint checks.
SQLite3 does not allow disabling such checks while in a transaction so they
must be disabled beforehand.
Thanks ezaquarii for the report and Carlton and Tim for the review.
2018-12-15 18:51:59 -05:00
Mariusz Felisiak
f0082b9a77
Refs #28670 -- Fixed DatabaseFeatures.supports_slicing_ordering_in_compound on Oracle.
2018-12-10 12:56:09 +00:00
Simon Charette
c8ffdbe514
Fixed #29182 -- Fixed schema table alteration on SQLite 3.26+.
...
SQLite 3.26 repoints foreign key constraints on table renames even when
foreign_keys pragma is off which breaks every operation that requires
a table rebuild to simulate unsupported ALTER TABLE statements.
The newly introduced legacy_alter_table pragma disables this behavior
and restores the previous schema editor assumptions.
Thanks Florian Apolloner, Christoph Trassl, Chris Lamb for the report and
troubleshooting assistance.
2018-12-07 13:32:37 -05:00
Mariusz Felisiak
f9a33e3c3f
Fixed #29932 -- Fixed combining compound queries with sub-compound queries on SQLite and Oracle.
2018-12-06 15:31:33 -05:00
Simon Charette
53269bcaaf
Fixed #30011 -- Fixed queries that reuse filtered aggregates.
...
Thanks Taqi Abbas and Raphael Kimmig for the report.
2018-12-06 14:55:35 -05:00
Tim Graham
88619e6129
Bumped mysqlclient requirement to >= 1.3.13.
...
There are test failures with older versions.
2018-12-06 14:49:27 -05:00
Tim Graham
284b3221a2
Fixed #30013 -- Fixed DatabaseOperations.last_executed_query() with mysqlclient 1.3.14+.
2018-12-05 14:46:23 -05:00
Nick Pope
c3bbf1fd4c
Refs #28643 -- Skipped ATan2() workaround on SpatiaLite 5+.
2018-11-30 13:59:05 -05:00
Prabakaran Kumaresshan
0d724ce916
Fixed #30001 -- Marked UUIDField.description for translation.
2018-11-30 11:23:17 -05:00
Tim Fiedler
b07273a0f7
Fixed #29987 -- Detected unmanaged model deletions.
2018-11-30 09:57:43 -05:00
Mariusz Felisiak
f091ea3515
Refs #29722 -- Added introspection of materialized views for Oracle.
...
Thanks Tim Graham for the review.
2018-11-26 19:45:05 +01:00
Nick Pope
c512912463
Refs #23801 -- Made integer field max_length warning show correct field type.
2018-11-23 14:40:46 -05:00
Nick Pope
856ba1ec86
Removed redundant BigIntegerField.empty_strings_allowed (already inherited).
2018-11-23 14:22:58 -05:00
Tom Forbes
31408446b3
Fixed #29974 -- Fixed non-truthy primary key values for QuerySet.bulk_update().
2018-11-21 22:58:43 -05:00
Mariusz Felisiak
d5f4ce9849
Fixed #29949 -- Refactored db introspection identifier converters.
...
Removed DatabaseIntrospection.table_name_converter()/column_name_converter()
and use instead DatabaseIntrospection.identifier_converter().
Removed DatabaseFeatures.uppercases_column_names.
Thanks Tim Graham for the initial patch and review and Simon Charette
for the review.
2018-11-21 09:06:50 +01:00
Tim Graham
acdd18dffc
Changed BaseDatabaseSchemaEditor._effective_default() to staticmethod.
...
Follow up to 9cac10eee4
.
2018-11-20 18:01:18 -05:00
Nick Pope
ebd270627c
Refs #29722 -- Added introspection of partitions for PostgreSQL.
2018-11-19 14:06:01 -05:00
Sergey Fedoseev
80ba7a881f
Fixed cached_properties that share a common property.
...
The aliases aren't cached and thus the old usage will be an error after
refs #29478 .
2018-11-19 08:59:46 -05:00
Tim Graham
9cac10eee4
Added BaseDatabaseSchemaEditor._effective_default() to allow testing without a connection.
2018-11-17 19:27:53 -05:00
Tim Graham
e62f6e0968
Fixed #29505 -- Removed SchemaEditor's calling of callable defaults.
...
Thanks Eugene Pakhomov for the suggested fix.
2018-11-17 19:27:53 -05:00
Simon Charette
0cf85e6b07
Refs #29908 -- Optimized known related objects assignment.
...
Since CPython implements a C level attrgetter(*attrs) it even outperforms the
most common case of a single known related object since the resulting attribute
values tuple is built in C.
2018-11-17 18:56:11 -05:00
Ian Foote
e1fc07c047
Fixed #17930 -- Allowed ORing (|) with sliced QuerySets.
2018-11-15 09:43:58 -05:00
Hasan Ramezani
6d4e5feb79
Fixed #29835 -- Made RelatedFieldListFilter respect ModelAdmin.ordering.
2018-11-14 14:29:39 -05:00
Mariusz Felisiak
ff8020ed49
Fixed #29788 -- Added support for Oracle Managed File (OMF) tablespaces.
2018-11-13 18:22:41 -05:00
Simon Charette
db13bca60a
Fixed #29641 -- Added support for unique constraints in Meta.constraints.
...
This constraint is similar to Meta.unique_together but also allows
specifying a name.
Co-authored-by: Ian Foote <python@ian.feete.org>
2018-11-13 17:57:27 -05:00
Simon Charette
dba4a634ba
Refs #29641 -- Refactored database schema constraint creation.
...
Added a test for constraint names in the database.
Updated SQLite introspection to use sqlparse to allow reading the
constraint name for table check and unique constraints.
Co-authored-by: Ian Foote <python@ian.feete.org>
2018-11-13 15:25:44 -05:00
Tim Graham
f82be9ebc7
Fixed #29934 -- Added sqlparse as a require dependency.
2018-11-09 19:09:36 -05:00
Srinivas Reddy Thatiparthy
978ad6d4c0
Removed unused 'tz' variable in typecast_timestamp().
2018-11-09 12:47:02 -05:00
Simon Charette
75dfa92a05
Fixed #29908 -- Fixed setting of foreign key after related set access if ForeignKey uses to_field.
...
Adjusted known related objects handling of target fields which relies on
from and to_fields and has the side effect of fixing a bug bug causing
N+1 queries when using reverse foreign objects.
Thanks Carsten Fuchs for the report.
2018-11-08 19:51:15 -05:00
Tom Forbes
d5e52f2bef
Removed DatabaseOperation.savepoint_create/rollback_sql() on Oracle.
...
Obsolete since 918f44e3ae
.
2018-11-04 18:21:59 -05:00
Jayantha Gumballi
dfcdc8992f
Fixed #29886 -- Fixed unaccent lookup when PostgreSQL's standard_conforming_strings option is off.
...
Thanks Tom McClure for the patch.
2018-11-01 11:14:34 -04:00
Mads Jensen
a906c98982
Fixed #29547 -- Added support for partial indexes.
...
Thanks to Ian Foote, Mariusz Felisiak, Simon Charettes, and
Markus Holtermann for comments and feedback.
2018-10-29 19:34:54 -04:00
thomazzo
9625d13f7b
Fixed #29882 -- Added events and stored routines to MySQL's cloned test databases.
2018-10-29 14:45:30 -04:00
Simon Charette
d8e03fdeb9
Fixed #29897 -- Fixed autodetector's swappable MTI dependency resolution.
...
Thanks Steven Ganz for the detailed report.
2018-10-29 11:24:30 -04:00
Simon Charette
82353ef940
Refs #29897 -- Moved autodetector swappable dependency resolution to a method.
2018-10-29 11:17:21 -04:00
Simon Charette
f1855fd885
Refs #23322 -- Removed unnecessary "and" clause in the autodetector.
...
If the depedency was swappable then it'll be resolved at this point.
2018-10-29 11:07:07 -04:00
Simon Charette
95bda03f2d
Fixed #29868 -- Retained database constraints on SQLite table rebuilds.
...
Refs #11964 .
Thanks Scott Stevens for testing this upcoming feature and the report.
2018-10-29 10:33:41 +01:00
Tim Graham
f77fc56c96
Fixed #29896 -- Fixed incorrect Model.save() cache relation clearing for foreign keys that use to_field.
...
Regression in ee49306176
.
2018-10-28 22:54:02 -04:00
Hampus Dunström
5e8a07d69d
Fixed #29763 -- Added support for column renaming on SQLite.
2018-10-27 20:26:39 -04:00
Tim Graham
717ee63e56
Refs #27025 -- Removed obsolete sqlite3 transaction management workaround for Python 3.6+.
...
Obsolete per https://bugs.python.org/issue10740#msg274816 .
2018-10-25 19:54:48 -04:00
Mariusz Felisiak
c6525bea9e
Fixed #29534 -- Made dbshell use rlwrap on Oracle if available.
2018-10-25 19:39:42 -04:00
Sergey Fedoseev
9a88c6dd6a
Fixed #29827 -- Fixed reuse of test databases with --keepdb on MySQL.
...
Regression in e1253bc26f
.
2018-10-25 19:37:41 -04:00
Tim Graham
f1d1634493
Removed useless check in sqlite's DatabaseWrapper._savepoint_allowed().
...
Obsolete since 27193aea00
.
2018-10-25 10:17:37 -04:00
Tim Graham
9b52bd6575
Made DatabaseFeatures.uses_savepoints default to True.
2018-10-25 10:02:47 -04:00
Sanyam Khurana
83c7096f2a
Fixed #29869 -- Made UUIDField.to_python() convert integers.
2018-10-24 20:26:57 -04:00
Sanyam Khurana
c86a3d80a2
Fixed #29721 -- Ensured migrations are applied and recorded atomically.
2018-10-24 19:29:11 -04:00
Mariusz Felisiak
641742528a
Fixed F841 flake8 warning.
2018-10-24 09:13:10 -04:00
Simon Charette
5e3463f6bc
Fixed #27595 -- Made ForeignKey.get_col() follow target chains.
...
Previously, foreign relationships were followed only one level deep which
prevents foreign keys to foreign keys from being resolved appropriately.
This was causing issues such as improper database value conversion for
UUIDField on SQLite because the resolved expression's output field's
internal type wasn't correct. Added tests to make sure unlikely foreign
reference cycles don't cause recursion errors.
Refs #24343 .
Thanks oyooyo for the report and Wayne Merry for the investigation.
2018-10-22 09:49:34 -04:00
Mariusz Felisiak
328f5627dd
Fixed #29870 -- Added DurationField introspection for Oracle and PostgreSQL.
...
Thanks Tim Graham for the review.
2018-10-21 09:08:05 +02:00
aspalding
834c4ec8e4
Moved make_hashable() to django.utils and added tests.
2018-10-17 11:17:23 -04:00
Florian Apolloner
bc7dd8490b
Fixed #21171 -- Avoided starting a transaction when a single (or atomic queries) are executed.
...
Checked the following locations:
* Model.save(): If there are parents involved, take the safe way and use
transactions since this should be an all or nothing operation.
If the model has no parents:
* Signals are executed before and after the previous existing
transaction -- they were never been part of the transaction.
* if `force_insert` is set then only one query is executed -> atomic
by definition and no transaction needed.
* same applies to `force_update`.
* If a primary key is set and no `force_*` is set Django will try an
UPDATE and if that returns zero rows it tries an INSERT. The first
case is completly save (single query). In the second case a
transaction should not produce different results since the update
query is basically a no-op then (might miss something though).
* QuerySet.update(): no signals issued, single query -> no transaction
needed.
* Model/Collector.delete(): This one is fun due to the fact that is
does many things at once.
Most importantly though: It does send signals as part of the
transaction, so for maximum backwards compatibility we need to be
conservative.
To ensure maximum compatibility the transaction here is removed only
if the following holds true:
* A single instance is being deleted.
* There are no signal handlers attached to that instance.
* There are no deletions/updates to cascade.
* There are no parents which also need deletion.
2018-10-17 12:19:02 +02:00
oliver
1299421cad
Fixed #29725 -- Removed unnecessary join in QuerySet.count() and exists() on a many-to-many relation.
2018-10-15 11:01:57 -04:00
Mariusz Felisiak
f2e2a1bd4b
Fixed #29845 -- Fixed Cast crash on MySQL when casting to DecimalField.
2018-10-15 15:57:22 +02:00
Mariusz Felisiak
a3052c35d1
Fixed various comments in django/db/backends/oracle/base.py.
2018-10-13 20:25:23 +02:00
Patrik Sletmo
adfdb9f169
Fixed #29814 -- Added support for NoneType serialization in migrations.
2018-10-11 09:02:14 -04:00
Mariusz Felisiak
52fec5d18f
Fixed #29836 -- Bumped required cx_Oracle to 6.0.
2018-10-11 11:43:16 +02:00
Sergey Fedoseev
3957f767bb
Simplified handling of DurationField values on MySQL/MariaDB.
2018-10-09 10:38:42 -04:00
Jon Dufresne
e90af8bad4
Capitalized "Python" in docs and comments.
2018-10-09 09:26:07 -04:00
Jon Dufresne
1e87c9fe71
Replaced kwargs.pop() with keyword-only arguments.
2018-10-08 15:06:02 -04:00
Jon Dufresne
2ba588e773
Refs #27795 -- Removed force_text() usage in db/models/sql/query.py.
2018-10-08 14:47:01 -04:00
Jon Dufresne
efd8a82e26
Refs #27795 -- Removed force_bytes() usage in MySQL backend.
...
The mysqlclient cursor attribute `_last_executed` is always stored as
bytes. Decode it.
TextField values are already type str. No need to decode.
2018-10-03 10:37:36 +02:00
Simon Charette
bc7e288ca9
Fixed #29745 -- Based Expression equality on detailed initialization signature.
...
The old implementation considered objects initialized with an equivalent
signature different if some arguments were provided positionally instead of
as keyword arguments.
Refs #11964 , #26167 .
2018-10-02 19:15:20 -04:00
Nick Pope
bf8b625a3b
Refs #29722 -- Added introspection of materialized views for PostgreSQL.
2018-10-02 14:02:04 -04:00
Nick Pope
45ef3df7d0
Fixed #29719 -- Added introspection of foreign tables for PostgreSQL.
...
Thanks infinite-l00p for the initial patch.
2018-10-02 14:01:24 -04:00
Simon Charette
24dc7d8940
Refs #29641 -- Extracted reusable CheckConstraint logic into a base class.
2018-10-02 13:11:18 -04:00
Simon Charette
9142bebff2
Refs #11964 -- Changed CheckConstraint() signature to use keyword-only arguments.
...
Also renamed the `constraint` argument to `check` to better represent which
part of the constraint the provided `Q` object represents.
2018-10-02 10:53:04 -04:00
Jon Dufresne
0bf7b25f8f
Added django.db.backends.utils.names_digest() to remove redundant code.
2018-10-02 10:41:43 -04:00
Jon Dufresne
c37b844349
Fixed ResourceWarning in MySQL's _clone_test_db().
2018-10-02 10:23:21 -04:00
Abhinav Patil
bf01994a5c
Fixed #29804 -- Added 'did you mean' suggestions for unsupported lookup error.
2018-10-01 19:03:10 -04:00
Claude Paroz
fc3a463048
Fixed #29767 -- Made date-related casts work on SQLite
...
Thanks Rémy Hubscher for the report and Tim Graham and Simon Charette for the reviews.
2018-10-01 13:27:30 +02:00
Sergey Fedoseev
8ef8bc0f64
Refs #28909 -- Simplifed code using unpacking generalizations.
2018-09-28 09:57:12 -04:00
Mariusz Felisiak
024abe5b82
Fixed #29630 -- Fixed crash of sliced queries with multiple columns with the same name on Oracle 12.1.
...
Regression in 0899d583bd
.
Thanks Tim Graham for the review and Jani Tiainen for help.
2018-09-26 20:18:48 +02:00
Mariusz Felisiak
90d93a1b42
Made DatabaseWrapper.oracle_version() return a full version tuple.
2018-09-26 08:51:27 +02:00
Jon Dufresne
82f286cf6f
Refs #29784 -- Switched to https:// links where available.
2018-09-26 08:48:47 +02:00
Oleg
d1d5c97bc2
Fixed #29778 -- Fixed quoting of unique index names.
...
Regression in 3b429c9673
.
2018-09-25 16:00:20 -04:00
Jon Dufresne
8c3e0eb1c1
Normalized spelling of "lowercase" and "lowercased".
2018-09-25 10:30:18 -04:00
Jon Dufresne
abeed587b1
Refs #27795 -- Removed force_bytes() usage in db/backends/base/schema.py.
2018-09-25 09:54:06 -04:00
Jon Dufresne
1d65ddd9c3
Refs #27795 -- Removed force_bytes() usage in db/backends/utils.py.
2018-09-25 09:53:13 -04:00
Tom Forbes
9cbdb44014
Fixed #23646 -- Added QuerySet.bulk_update() to efficiently update many models.
2018-09-18 16:14:44 -04:00
Claude Paroz
f5e347a640
Fixed #27899 -- Added support for phrase/raw searching in SearchQuery.
...
Thanks Tim Graham, Nick Pope, and Claude Paroz for contribution and review.
2018-09-17 12:03:52 -04:00
Mariusz Felisiak
da92ec7962
Fixed #29759 -- Fixed crash on Oracle when fetching a returned insert id with cx_Oracle 7.
2018-09-16 12:45:34 +02:00
Nick Pope
f87f9c5f63
Simplified introspection methods for PostgreSQL.
2018-09-14 14:34:43 -04:00
Simon Charette
a4495f4b98
Fixed #29755 -- Made migrations detect changes to Meta.default_related_name.
2018-09-14 09:09:17 -04:00
Ramiro Morales
1b1f64ee5a
Refs #14357 -- Deprecated Meta.ordering affecting GROUP BY queries.
...
Thanks Ramiro Morales for contributing to the patch.
2018-09-13 12:29:48 -04:00
Tim Graham
32fbccab40
Fixed #29749 -- Made the migrations loader ignore files starting with a tilde or underscore.
...
Regression in 29150d5da8
.
2018-09-11 12:51:11 -04:00
Srinivas Reddy Thatiparthy
34d6bceec4
Fixed #29500 -- Fixed SQLite function crashes on null values.
...
Co-authored-by: Srinivas Reddy Thatiparthy <thatiparthysreenivas@gmail.com>
Co-authored-by: Nick Pope <nick.pope@flightdataservices.com>
2018-09-10 15:08:55 -04:00
Nick Pope
76dfa834e7
Combined two identical SQLite functions.
2018-09-10 14:41:58 -04:00
Nick Pope
af7a758dcb
Made some date parsing in SQLite functions more DRY.
2018-09-10 14:41:20 -04:00
Krzysztof Gogolewski
db926a0048
Fixed #29243 -- Improved efficiency of migration graph algorithm.
2018-09-10 09:57:31 -04:00
Alexander Holmbäck
f315d0423a
Fixed #29727 -- Made nonexistent joins in F() raise FieldError.
...
Regression in 2162f0983d
.
2018-09-08 09:40:33 -04:00
Jon Dufresne
cc79c7ee63
Refs #27795 -- Removed force_text() in Model._get_FIELD_display().
2018-08-31 10:59:57 -04:00
Mariusz Felisiak
39461a83c3
Fixed #29694 -- Fixed column mismatch crash with QuerySet.values() or values_list() after combining querysets with extra() with union(), difference(), or intersection().
...
Regression in 0b66c3b442
.
2018-08-29 10:00:15 +02:00
Jon Dufresne
5311a36da5
Refs #29654 -- Replaced three dots with ellipsis in DB creation output strings.
2018-08-28 07:56:34 -04:00
Jon Dufresne
90f3ef332b
Refs #27795 -- Removed force_bytes()/smart_text() from model fields.
2018-08-28 07:56:18 -04:00
priyanshsaxena
83b04d4f88
Fixed #29048 -- Added **extra_context to database function as_vendor() methods.
2018-08-23 11:52:09 -04:00
Simon Willison
586a9dc429
Fixed #26352 -- Made system check allow ManyToManyField to target the same model if through_fields differs.
2018-08-22 12:07:29 -04:00
Franck Michea
7def8bed58
Fixed #29698 -- Fixed Field._check_choices() crash on invalid choices.
2018-08-22 09:15:19 -04:00
Claude Paroz
50b8493581
Refs #29654 -- Replaced three dots with ellipsis character in output strings.
2018-08-22 09:13:58 -04:00
Mariusz Felisiak
ac29fec111
Removed unused function argument from Window.as_sql().
...
Unused since its introduction in d549b88050
.
2018-08-20 22:16:27 +02:00
Ming Qin
cfb4845f06
Fixed #29625 -- Made Model.refresh_from_db() clear prefetch related caches.
2018-08-20 12:01:42 -04:00
Sigurd Ljødal
3e09b37f80
Fixed #28649 -- Added ExtractIsoYear database function and iso_year lookup.
2018-08-18 13:09:15 -04:00
Jon Dufresne
bf17f5e884
Refs #29015 -- Added database name to PostgreSQL database name too long exception.
2018-08-17 12:43:56 -04:00
Srinivas Reddy Thatiparthy (శ్రీనివాస్ రెడ్డి తాటిపర్తి)
7eb556a6c2
Removed unused enumerate in django/db/models/sql/datastructures.py.
2018-08-13 18:41:24 -04:00
Ramiro Morales
b5c7cb4d33
Fixed #29653 -- Fixed missing related_query_name reverse accessor if GenericRelation is declared on an abstract base model.
...
Regression in 4ab027b944
.
Thanks Lauri Kainulainen for the report.
2018-08-10 12:17:26 -04:00
Raphael Michel
155b31d4ec
Fixed #29648 -- Fixed crash when using subqueries inside datetime truncation functions.
2018-08-07 16:47:54 -04:00
Tom
f1fbef6cd1
Fixed #28668 -- Allowed QuerySet.bulk_create() to ignore insert conflicts.
2018-08-03 17:40:46 -04:00
Mariusz Felisiak
1a9cbf41a1
Fixed #29613 -- Fixed --keepdb on PostgreSQL if the database exists and the user can't create databases.
...
Regression in e776dd2db6
.
Thanks Tim Graham for the review.
2018-08-03 10:31:55 +02:00
Michael Sanders
271542dad1
Fixed #29499 -- Fixed race condition in QuerySet.update_or_create().
...
A race condition happened when the object didn't already exist and
another process/thread created the object before update_or_create()
did and then attempted to update the object, also before update_or_create()
saved the object. The update by the other process/thread could be lost.
2018-08-02 17:07:48 -04:00
Nick Pope
6b4d1ec8ff
Fixed #29614 -- Added BTreeIndex to django.contrib.postres.
2018-08-02 11:42:57 -04:00
Nick Pope
d6381d3559
Fixed #28990 -- Added autosummarize parameter to BrinIndex.
2018-08-02 11:26:58 -04:00
luz.paz
97e637a87f
Fixed typos in comments and docs.
2018-08-01 16:09:22 -04:00
Tim Graham
4263cd0e09
Simplified comment in BooleanField.to_python().
2018-08-01 11:52:02 -04:00
Tom Forbes
4198445afc
Refs #29548 -- Fixed failing window tests on MariaDB 10.3.
2018-07-30 19:54:56 -04:00
Tim Graham
c72dde41e6
Fixed #29595 -- Allowed using timedelta in migrations questioner.
...
Refs #29600 -- Removed usage of django.utils.datetime_safe in migrations.
2018-07-27 11:53:49 -04:00
Andrew Brown
c0e3c65b9d
Fixed #29563 -- Added result streaming for QuerySet.iterator() on SQLite.
2018-07-25 18:08:57 -04:00
Andrew Brown
55810d94d0
Refs #29563 -- Fixed SQLCompiler.execute_sql() to respect DatabaseFeatures.can_use_chunked_reads.
2018-07-25 18:08:57 -04:00
Mariusz Felisiak
ac25dd1f8d
Fixed #29569 -- Fixed Cast() with AutoField and BigAutoField.
2018-07-25 08:00:11 +02:00
François Dupayrat
861638a307
Fixed #29568 -- Prevented unnecessary UPDATE queries creating child models.
2018-07-20 08:59:15 -04:00
Claude Paroz
65503ca097
Fixed #29040 -- Made test database creation messages use a consistent output stream.
2018-07-19 18:05:33 -04:00
Simon Charette
1e9b02a4c2
Refs #28862 -- Removed the FieldRelatedOptionOperation.reduce() optimization.
...
It isn't required anymore since AlterTogetherOperations can be reduced into
CreateModels which can reduce DeleteField operations.
2018-07-19 17:42:18 -04:00
Simon Charette
fc16015de4
Fixed #26906 -- Reduced alter together operations code duplication.
...
Thanks Akshesh Doshi for the initial patch.
2018-07-19 17:06:01 -04:00
Simon Charette
8e3f22f251
Fixed #27731 -- Implemented CreateModel/AlterFooOperation reduction.
...
This should alleviate the side effects of disabling the AlterFooOperation
reduction with RemoveField to fix refs #28862 during migration squashing
because CreateModel can perform a reduction with RemoveField.
Thanks Nick Pope for the review.
2018-07-19 17:06:01 -04:00
Simon Charette
ed7898e1b5
Fixed #28862 -- Disabled optimization of AlterFooTogether and RemoveField.
...
AlterFooTogether operations cannot be swapped with RemoveField operations on
the same model as they could be removing the the same field as well.
Since AlterFooTogether operations don't track what their previous value was,
it's impossible to determine whether or not the optimization is safe so the
only way to proceed is to disable the optimization.
Thanks Ramiro Morales for the in-depth analysis of the issue.
Refs #24828
2018-07-19 17:06:01 -04:00
Mariusz Felisiak
a73cf8110e
Removed duplicate words in various comments.
2018-07-18 11:54:15 -04:00
Viktor Danyliuk
6ae7aaa7d6
Fixed #29413 -- Prevented evaluation of QuerySet.get_or_create()/update_or_create() defaults unless needed.
...
Removed the logic added in 81e05a418d
which
was obsolete since dbffffa7dc
.
2018-07-16 22:08:43 -04:00
Josh Schneier
4d48ddd8f9
Fixed #28917 -- Prevented Paginator's unordered warning on EmptyQuerySet.
...
Thanks carltongibson for the idea and weijunji for the initial patch.
2018-07-16 14:28:47 -04:00
Mariusz Felisiak
dd3b470719
Fixed #29542 -- Fixed invalid SQL if a Subquery from the HAVING clause is used in the GROUP BY clause.
...
Thanks Tim Graham for the review.
2018-07-14 12:03:22 +02:00
Oliver Sauder
a07a49ee32
Fixed #29559 -- Fixed TransactionTestCase.reset_sequences for auto-created m2m through models.
2018-07-11 17:20:29 -04:00
Simon Charette
8a03445885
Removed in_between from Operation.reduce()'s signature.
...
It isn't used since FieldOperation.references_model() takes into
account models referenced by the field it's operating on.
2018-07-11 10:49:50 -04:00
Simon Charette
37cafbfb79
Fixed #27845 -- Allowed both right and left optimizations of operations.
...
Thanks Raphael Gaschignard for the suggestion.
2018-07-11 10:49:50 -04:00
Simon Charette
0025dd5eb4
Allowed RemoveField operations to be optimized through.
2018-07-11 10:49:50 -04:00
Simon Charette
50b8c98a0f
Relaxed FieldOperation.references_field remote field checking.
2018-07-11 10:49:50 -04:00
Simon Charette
013bcf57d5
Introduced ModelTuple to remove migrations boilerplate.
2018-07-11 10:49:50 -04:00
Simon Charette
ad82900ad9
Fixed #26720 -- Prevented invalid CreateModel optimizations of related fields.
2018-07-11 10:49:50 -04:00
Simon Charette
a97845a823
Fixed #27768 -- Allowed migration optimization of CreateModel order.
...
Thanks Ed Morley from Mozilla for the tests.
2018-07-11 10:49:50 -04:00
Simon Charette
d3a935f01f
Refs #27768 -- Reversed order of optimized and in-between operations.
...
Operations can only be optimized through if they don't reference any of the
state the operation they are compared against defines or alters, so it's
safe to reverse the order.
2018-07-11 10:49:50 -04:00
Ian Foote
952f05a6db
Fixed #11964 -- Added support for database check constraints.
2018-07-10 15:32:33 -04:00
Sergey Fedoseev
6fbfb5cb96
Removed Oracle's fetchmany() and fetchall() wrappers.
...
Follow up to e06cab2600
.
2018-07-10 15:03:09 -04:00
Mads Jensen
8e4a75e5d5
Deleted unused variable in SQLCompiler.get_related_selections().
...
Unused since 01d440fa1e
.
2018-07-10 09:15:19 -04:00
Tom Forbes
45c035c823
Refs #29548 -- Fixed non-GIS test failures on MariaDB.
2018-07-09 14:59:42 -04:00
Michal Čihař
39e287d8bf
Fixed #29544 -- Fixed regex lookup on MariaDB.
...
Regression in 4249076844
.
2018-07-05 12:11:49 -04:00
Mads Jensen
f1fc7d6b78
Refs #26608 -- Removed unneeded name attribute in window functions.
2018-07-05 11:38:07 -04:00
Junyi Jiao
a0b19a0f5b
Refs #28643 -- Added math database functions.
...
Thanks Nick Pope for much review.
2018-07-05 11:02:12 -04:00
Mariusz Felisiak
d7d32964ef
Fixed #29541 -- Fixed Cursor.execute() crash when setinputsizes() is called without arguments wit cx_Oracle 6.4.
2018-07-04 12:57:29 -04:00
Tim Graham
4009e1f2ab
Removed unused code in django.db.backends.utils.format_number().
2018-07-02 16:10:35 -04:00
Mariusz Felisiak
0e64e046a4
Fixed #29530 -- Fixed aliases ordering when chaining annotate() and filter().
2018-07-02 21:09:29 +02:00
Sergey Fedoseev
b49b59b029
Simplified SQLite's Decimal adapter.
2018-07-02 13:36:40 -04:00
Ian Foote
38cada7c94
Fixed #28077 -- Added support for PostgreSQL opclasses in Index.
...
Thanks Vinay Karanam for the initial patch.
2018-06-29 17:00:28 -04:00
Thomas Grainger
4fba321a45
Fixed #29480 -- Made MySQL backend retrieve constraint columns in their defined order.
2018-06-29 10:43:53 -04:00
Tim Graham
2ec151e35d
Fixed #29514 -- Reverted "Used datetime.timezone.utc instead of pytz.utc for better performance."
...
This reverts commit 27ca5ce19f
due to a
regression.
2018-06-28 11:14:26 -04:00
Tim Graham
b9cf764be6
Fixed #29517 -- Added support for SQLite column check constraints on positive integer fields.
2018-06-25 14:01:04 -04:00
Alexandr Tatarinov
7410618528
Fixed #29447 -- Made RelatedManager.set() pass bulk argument to clear().
2018-06-25 13:04:46 -04:00
Tim Graham
e7185a6514
Refs #29516 -- Reverted inadvertent change in Model.__init__().
2018-06-25 09:39:16 -04:00
Federico Bond
4c36414323
Fixed #29517 -- Rephrased error message when passing incorrect kwarg to model constructor
2018-06-25 09:30:58 +02:00
Tom
4249076844
Refs #29451 -- Fixed regex/iregex lookups on MySQL 8.
2018-06-20 10:57:28 -04:00
Nick Pope
b0fbfae093
Fixed #29503 -- Made __in lookup keep order of values in query.
...
Regression in 86eccdc8b6
.
2018-06-20 09:29:06 -04:00
Mariusz Felisiak
6dd4edb1b4
Fixed #29496 -- Fixed crash on Oracle when converting a non-unique field to primary key.
...
Thanks Tim Graham for the review.
2018-06-17 08:51:02 +02:00
Jeff
fcc4e251db
Fixed #29000 -- Fixed RenameModel's renaming of a M2M column when run after RenameField.
...
Regression in 45ded053b1
.
2018-06-15 11:51:09 -04:00
Tim Graham
c03e41712b
Refs #28748 -- Reallowed lazy model field choices.
...
Regression in 3aa9ab39cc
.
2018-05-29 21:43:38 -04:00
Paulo
6104875a2c
Fixed #29230 -- Fixed nested prefetches that clash with descriptors.
2018-05-27 21:45:51 -04:00
Mariusz Felisiak
4ab1f559e8
Fixed #29416 -- Removed unnecesary subquery from GROUP BY clause on MySQL when using a RawSQL annotation.
...
Regression in 1d070d027c
.
2018-05-27 18:25:19 -04:00
Markus Holtermann
e01fa015c0
Refs #27098 -- Removed unused introspection queries.
...
Unused since 578711c310
.
Thanks Ian Foote for finding this.
2018-05-26 16:29:02 +02:00
bakabiko
a7bc1aea03
Fixed #29380 -- Added support for QuerySet.select_for_update()'s nowait and skip_locked options on MySQL 8+.
2018-05-18 19:37:36 -04:00
olivierdalang
825f0beda8
Fixed #8936 -- Added a view permission and a read-only admin.
...
Co-authored-by: Petr Dlouhy <petr.dlouhy@email.cz>
Co-authored-by: Olivier Dalang <olivier.dalang@gmail.com>
2018-05-16 06:44:55 -04:00
Paulo
265506bbc3
Refs #28834 -- Moved ancestor field cached value fallback to related fields descriptor.
2018-05-14 21:17:02 -04:00
Stefan R. Filipek
a5a2ceeb45
Fixed #27629 -- Added router.allow_relation() calls for assignments between unsaved model instances.
2018-05-10 20:42:44 -04:00
Tim Graham
7ac3008fe4
Refs #29350 -- Fixed 'invalid escape sequence' warning in SQLite introspection.
2018-05-08 10:42:24 -04:00
Sanket Saurav
079f324357
Fixed #28913 -- Fixed error handling when MIGRATIONS_MODULES specifies a nonexistent top-level package.
2018-05-05 18:26:33 -04:00
Carlton Gibson
21fd8041c1
Refs #29358 -- Corrected wording in primary key check message.
2018-05-03 15:28:37 +02:00
Hasan Ramezani
816b8d9518
Fixed #29358 -- Added a system check to prohibit models with more than one primary_key field.
2018-05-03 09:08:29 +02:00
Mariusz Felisiak
483cc1c430
Refs #28859 -- Fixed "no data found" exception handling with cx_Oracle 6.3+.
2018-04-28 19:39:45 +02:00
Zackary Troop
30f8642f2e
Fixed #29350 -- Fix get_primary_key_column() method in sqlite3 backend
...
Thanks Tim Graham and Mariusz Felisiak for the reviews.
2018-04-28 12:01:45 +02:00
priyanshsaxena
6b3d292043
Fixed #29015 -- Added an exception if the PostgreSQL database name is too long.
2018-04-27 21:37:42 -04:00
Oscar Esgalha
6d1f576945
Fixed #29367 -- Fixed model state on objects with a primary key created with QuerySet.bulk_create().
2018-04-27 17:57:38 -04:00
orlnub123
21420096c4
Fixed #29247 -- Allowed blank model field choice to be defined in nested choices.
2018-04-20 11:06:14 -04:00
Tom
11b8c30b9e
Ref #23919 -- Replaced some os.path usage with pathlib.Path.
2018-04-19 21:30:00 -04:00
Adnan Umer
534d8d875e
Fixed #28600 -- Added prefetch_related() support to RawQuerySet.
2018-04-19 13:48:27 -04:00
Adnan Umer
f2026ca5e2
Fixed #29337 -- Added __len__() & __bool__() to RawQuerySet.
2018-04-19 12:46:31 -04:00
Adnan Umer
ec0319ff82
Fixed #29339 -- Added result caching to RawQuerySet.
2018-04-19 11:35:49 -04:00
Tom
c1c163b427
Fixed #28574 -- Added QuerySet.explain().
2018-04-19 10:52:19 -04:00
Brett Cannon
64b74804c5
Fixed #29334 -- Updated pypi.python.org URLs to pypi.org.
2018-04-17 20:24:27 -04:00
Mariusz Felisiak
e0a3cfaca0
Simplified Oracle's DatabaseOperations.cache_key_culling_sql() with LIMIT/OFFSET.
2018-04-17 12:50:43 -04:00
Daniel Miller
60156750f6
Fixed #29330 -- Fixed crash when pickling BaseExpression.
...
Regression in cfff2af02b
.
2018-04-16 10:15:13 -04:00
Mariusz Felisiak
0b66c3b442
Fixed #29286 -- Fixed column mismatch crash with QuerySet.values() or values_list() after combining an annotated and unannotated queryset with union(), difference(), or intersection().
...
Regression in a0c03c62a8
.
Thanks Tim Graham and Carlton Gibson for reviews.
2018-04-13 12:15:52 +02:00
Flávio Juvenal
e1f13f1551
Fixed #29320 -- Added an exception when an annotation alias matches a ForeignKey attname.
2018-04-12 21:15:40 -04:00
Jeremy Bowman
ee17bb8a67
Fixed #29193 -- Prevented unnecessary foreign key drops when altering a unique field.
...
Stopped dropping and recreating foreign key constraints on other fields
in the same table as the one which is actually being altered in an
AlterField operation.
Regression in c3e0adcad8
.
2018-04-11 23:17:11 -04:00
Dmitry Dygalo
c979c0a2b8
Fixed #25718 -- Made a JSONField lookup value of None match keys that have a null value.
2018-04-04 10:53:46 -04:00
Mariusz Felisiak
816b386d41
Refs #24791 -- Made PostgreSQL's nodb connection use first PostgresSQL db when 'postgres' db isn't available.
...
Thanks Tim Graham and Claude Paroz for reviews.
2018-04-03 22:21:47 +02:00
Mariusz Felisiak
55cc26941a
Refs #28643 -- Added Repeat database function.
...
Thanks Tim Graham and Nick Pope for reviews.
2018-04-03 19:36:12 +02:00
Mariusz Felisiak
6141c752fe
Fixed #29251 -- Added bytes to str conversion in LPad/RPad database functions on MySQL.
...
Thanks Tim Graham for the review.
2018-04-03 18:24:04 +02:00
Simon Charette
2156565b5b
Fixed #29245 -- Made autodetector treat field renames + db_column addition as RenameField.
2018-03-28 12:43:43 -04:00
Dan Watson
29150d5da8
Fixed #23406 -- Allowed migrations to be loaded from .pyc files.
2018-03-23 13:20:38 -04:00
Sergey Fedoseev
27ca5ce19f
Used datetime.timezone.utc instead of pytz.utc for better performance.
2018-03-20 15:24:16 -04:00
Nick Pope
281c0223b3
Refs #29227 -- Simplified NullBooleanField by making it subclass BooleanField.
2018-03-20 12:10:10 -04:00
Tim Graham
6421bd702f
Refs #29227 -- Made inspectdb generate BooleanField(null=True) rather than NullBooleanField.
2018-03-20 12:10:10 -04:00
Tim Graham
5fa4f40f45
Fixed #29227 -- Allowed BooleanField to be null=True.
...
Thanks Lynn Cyrin for contributing to the patch, and Nick Pope for review.
2018-03-20 12:10:10 -04:00
Astral
a0c03c62a8
Fixed #29229 -- Fixed column mismatch crash when combining two annotated values_list() querysets with union(), difference(), or intersection().
...
Regression in 7316720603821ebb64dfe8fa592ba6edcef5f3e.
2018-03-19 21:05:43 -04:00
Mariusz Felisiak
cede5111bb
Refs #28643 -- Added LPad and RPad database functions.
...
Thanks Tim Graham for the review.
2018-03-19 17:35:16 +01:00
Claude Paroz
3c4ff21763
Fixed #29103 -- Removed bad 'b'-prefix added by MySQL's SchemaEditor.quote_value().
2018-03-17 16:36:54 -04:00
Mads Jensen
77609f922e
Removed unused args in Index.clone().
2018-03-17 15:42:09 -04:00
Tim Graham
f8b98f0edc
Removed DatabaseFeatures.can_introspect_null.
...
The only known usage is in the unmaintained django-pymssql project.
2018-03-16 11:43:41 -04:00
Mariusz Felisiak
362813d628
Fixed hanging indentation in various code.
2018-03-16 10:54:34 +01:00
Mariusz Felisiak
9421aee35e
Refs #28643 -- Added LTrim, RTrim, and Trim database functions.
...
Thanks Tim Graham and Mads Jensen for reviews.
2018-03-15 20:57:23 +01:00
Mariusz Felisiak
feb683c4c2
Fixed #29155 -- Fixed crash when database functions are used with pattern lookups.
...
Thanks Tim Graham and Sergey Fedoseev for reviews.
2018-03-14 10:00:07 +01:00
Mariusz Felisiak
acfc650f2a
Fixed #29199 -- Fixed crash when database user password contains @ sign on Oracle.
...
Thanks Shane Allgeier for the report and Tim Graham for the review.
2018-03-13 19:06:40 +01:00
robwa
4ab027b944
Fixed #28988 -- Fixed queries when a GenericRelation is used with multi-table inheritance.
2018-03-12 22:42:48 -04:00
Sergey Fedoseev
d696fccae6
Fixed #29209 -- Fixed Cast() with TextField on MySQL and Oracle.
2018-03-12 21:57:14 -04:00
Tomer Chachamu
c12745f682
Fixed typo in django/db/backends/base/schema.py.
2018-03-12 13:49:36 -04:00
Simon Charette
3c71fb3909
Added PatternLookup.prepare_rhs to simplify subclasses.
2018-03-12 12:12:46 -04:00
Дилян Палаузов
45aaf6608d
Removed unused variable in BaseDatabaseSchemaEditor.effective_default().
2018-03-12 12:06:06 -04:00
Carlton Gibson
5b083a824e
Fixed #29180 -- Fixed a regression where migrations already in the plan were readded.
...
Regression in a38ae914d8
.
2018-03-09 08:59:57 +01:00
Carlton Gibson
4d420a53cf
Refs #29180 -- Added MigrationGraph._generate_plan() for testing.
2018-03-09 08:59:57 +01:00
Simon Charette
277ed07209
Fixed #29195 -- Fixed Exists.output_field resolution on single-valued queries.
...
The Subquery class which Exists inherits from defaulted to using single-valued
querie's field if no output_field was explicitly specified on initialization
which was bypassing the Exists.output_field defined at the class level.
Moving Subquery's dynamic output_field resolution to _resolve_output_field
should make sure the fallback logic is only performed if required.
Regression in 08654a99bb
.
Thanks Oli Warner for the detailed report.
2018-03-08 13:30:41 -05:00
Fabrizio Ettore Messina
10c0fe528a
Fixed #29178 -- Allowed Index.fields to accept a tuple.
2018-03-08 10:56:55 -05:00
Mariusz Felisiak
8b25d546b6
Simplified Contains, StartsWith, and EndsWith lookups.
2018-03-07 14:04:17 -05:00
Almad
3d8fadad0f
Added model name to AutoField error message.
2018-03-03 13:22:00 -05:00
Tomáš Ehrlich
fa352626c2
Fixed #29172 -- Fixed crash with Window expression in a subquery.
2018-03-01 10:24:14 -05:00
Sergey Fedoseev
ba4a986240
Refs #28459 -- Improved performance of time difference expressions on MySQL.
2018-03-01 14:42:21 +05:00
Mariusz Felisiak
54f80430be
Fixed #29166 -- Fixed crash in When() expression with a list argument.
...
Thanks Matthew Pava for the report and Tim Graham and Carlton Gibson for
reviews.
Regression in 19b2dfd1bf
.
2018-02-28 18:05:23 +01:00
Mariusz Felisiak
074a2f7f58
Refs #28909 -- Simplifed code using unpacking generalizations.
2018-02-26 18:23:31 +01:00
bobort
f82de6bfb1
Refs #28643 -- Added Ord, Chr, Left, and Right database functions.
2018-02-23 10:23:22 -05:00
Matthew Schinckel
c412926a2e
Fixed #29142 -- Fixed crash when OuterRef is used with an operator.
2018-02-23 09:38:16 -05:00
Oliver Sauder
6f0b8c1c9e
Fixed #28442 -- Fixed crash with nested OuterRefs that reference AutoField.
2018-02-20 21:58:43 -05:00
Tim Graham
9ba3df8240
Refs #29125 -- Made Q.deconstruct() omit 'query_utils' in the path and _connector='AND' since it's a default value.
2018-02-12 15:23:41 -05:00
Tim Graham
b95c49c954
Fixed #29125 -- Made Q.deconstruct() deterministic with multiple keyword arguments.
2018-02-12 14:52:32 -05:00
Matthew Wilkes
2162f0983d
Fixed #24747 -- Allowed transforms in QuerySet.order_by() and distinct(*fields).
2018-02-10 19:08:55 -05:00
Raphael Gaschignard
bf26f66029
Fixed #29118 -- Fixed crash with QuerySet.order_by(Exists(...)).
2018-02-10 18:35:57 -05:00
Simon Charette
d61fe24601
Fixed #29108 -- Fixed crash in aggregation of distinct+ordered+sliced querysets.
...
Regression in 4acae21846
.
Thanks Stephen Brooks for the report.
2018-02-08 09:59:25 -05:00
Mariusz Felisiak
34b52f8572
Renamed the allow_sliced_subqueries database feature to allow_sliced_subqueries_with_in.
...
After 0899d583bd
this database feature is
false only on MySQL which doesn't support sliced subqueries only with
IN/ALL/ANY/SOME.
2018-02-07 08:27:47 +01:00
Tim Graham
0f0a07ac27
Refs #28814 -- Fixed migrations crash with namespace packages on Python 3.7.
...
Due to https://bugs.python.org/issue32303 .
2018-02-05 13:29:32 -05:00
Raymond Hettinger
aba9763b51
Refs #28814 -- Imported from collections.abc to fix Python 3.7 deprecation warnings.
...
https://bugs.python.org/issue25988
2018-02-05 11:42:47 -05:00
Jon Dufresne
8b21878357
Refs #28723 -- Fixed stale prefetch_related cache after add/remove.
...
Regression in 514b2c989a
.
2018-02-05 11:02:57 -05:00
Tim Graham
d0a42a14c0
Fixed imports per isort 4.3.1.
...
Partially reverted 9bcf73d788
.
2018-02-02 14:44:07 -05:00
Mariusz Felisiak
9bcf73d788
Fixed imports per isort 4.3.0.
2018-02-01 09:29:46 +01:00
Mariusz Felisiak
f73f821143
Removed uneeded comment in DatabaseWrapper.check_constraints() on SQLite/MySQL backends.
2018-01-31 20:02:45 -05:00
priyanshsaxena
617d5f410f
Fixed #29066 -- Allowed negating query expressions.
2018-01-31 10:54:19 -05:00
Дилян Палаузов
f427ffcccb
Fixed #29093 -- Simplified a few lines in ModelBase.__new__().
2018-01-31 10:22:56 -05:00
Tim Graham
0a37ea56d0
Fixed #29091 -- Fixed makemigrations crash if migrations directory doesn't have __init__.py.
...
Regression in aadd3aeb2b
.
2018-01-31 09:36:36 -05:00
Jon Dufresne
136bf5c214
Fixed #29076 -- Made Model.refresh_from_db() clear cached relationships even if the related id doesn't change.
2018-01-30 10:43:53 -05:00
bquinn
c2b969e124
Fixed #29004 -- Added inspectdb --include-views option.
2018-01-27 18:51:40 -05:00
Sigurd Ljødal
a455e732a0
Fixed #28650 -- Added TruncWeek database function.
2018-01-27 09:59:13 -05:00
François Freitag
3aa9ab39cc
Refs #28748 -- Reallowed lazy values in model field choices.
...
Regression in f9844f4841
.
Thanks Matthias Kestenholz for the report and suggestions.
2018-01-27 09:19:56 -05:00
Jon Dufresne
3187c89d6f
Fixed #29067 -- Fixed regression in QuerySet.values_list(..., flat=True) followed by annotate().
2018-01-26 09:35:50 -05:00
shanghui
8dc675d90f
Fixed #28838 -- Fixed Model.save() crash if the base manager annotates with a related field.
2018-01-25 10:12:04 -05:00
François Freitag
f9844f4841
Fixed #28748 -- Made model field choices check more strict for named groups.
2018-01-24 10:34:24 -05:00
Mads Jensen
65728550bd
Refs #28643 -- Added Replace database function.
2018-01-17 20:46:15 -05:00
hayashi
27557a7a99
Fixed #28857 -- Fixed invalid SQL when using Cast with complex expressions on PostgreSQL.
2018-01-17 09:28:03 -05:00
Tim Martin
02365d3f38
Fixed #28542 -- Fixed deletion of primary key constraint if the new field is unique.
2018-01-13 20:11:55 -05:00
Étienne Loks
9a621edf62
Fixed #29016 -- Fixed incorrect foreign key nullification on related instance deletion.
2018-01-13 10:31:00 -05:00
Mariusz Felisiak
385e6fb352
Removed Query.split_exclude()'s unused prefix argument.
...
Unused since b4492a8ca4
.
2018-01-12 19:06:15 -05:00
Дилян Палаузов
a38ae914d8
Fixed #28996 -- Simplified some boolean constructs and removed trivial continue statements.
2018-01-12 12:44:50 -05:00
Tim Graham
d60e8b856b
Added DatabaseFeatures.is_postgresql_9_5 to avoid repetition.
2018-01-09 14:09:02 -05:00
Mariusz Felisiak
8f8a93a9ae
Fixed #28859 -- Made Oracle backend raise DatabaseError if "no data found" exception is hidden by the Oracle OCI library.
...
Thanks Tim Graham for the review and Jani Tiainen for the report.
2018-01-06 18:50:54 +01:00
Sergey Fedoseev
2115be616b
Refs #28459 -- Improved performance of duration expressions on SQLite.
2018-01-04 17:16:17 -05:00
Дилян Палаузов
d7b2aa24f7
Fixed #28982 -- Simplified code with and/or.
2018-01-03 20:12:23 -05:00
Tim Graham
acc8dd4142
Fixed #28984 -- Made assorted code simplifications.
2018-01-03 13:24:02 -05:00
Дилян Палаузов
d79cf1e9e2
Fixed #28985 -- Removed unneeded None checks before hasattr().
2018-01-03 11:37:06 -05:00
shanghui
cc6bcc6ff5
Fixed #28867 -- Added system check for a model property that clashes with a related field accessor.
2018-01-03 10:34:31 -05:00
Robin Ramael
fbf647287e
Fixed #28811 -- Fixed crash when combining regular and group by annotations.
2018-01-03 08:24:16 -05:00
Mariusz Felisiak
c86e9b5847
Removed DeferredAttribute.__init__()'s unused model argument.
...
Unused since a8a81aae20
.
2018-01-02 17:54:10 -05:00
Simon Charette
f5a989e603
Fixed #28974 -- Made refresh_from_db() hint routers about its instance.
2018-01-02 09:42:24 -05:00
Tim Graham
d065c92678
Fixed #28918 -- Fixed Model.refresh_from_db() for instances hidden by the default manager.
2017-12-30 18:00:36 -05:00
Simon Charette
dcdd219ee1
Fixed #25817 -- Made RenameField repoint to_field/to_fields references.
...
Also updated the autodetector to assume the RenameField operation will
perform the required repointing.
2017-12-30 14:59:22 -05:00
Simon Charette
2faeb21d2f
Moved _get_model_tuple() to the base Operation class.
...
This allows field and special operations to use this logic.
2017-12-30 14:50:43 -05:00
Mariusz Felisiak
51a00749e9
Used Decimal.scaleb() in backends.utils.format_number() and DecimalField.widget_attrs() to improve performance.
2017-12-30 18:05:15 +01:00
Sergey Fedoseev
98e78ac754
Bumped minimum supported mysqlclient version to 1.3.7.
...
Follow up to ad9390bba2
.
2017-12-29 11:55:29 -05:00
Sergey Fedoseev
51ae4e1f32
Refs #28459 -- Used default date converter on SQLite for better performance.
...
See https://docs.python.org/3/library/sqlite3.html#default-adapters-and-converters .
2017-12-29 14:37:00 +05:00
Sergey Fedoseev
ae6fa914aa
Fixed #28926 -- Fixed loss of precision of big DurationField values on SQLite and MySQL.
2017-12-28 17:35:41 -05:00
Mariusz Felisiak
83a36ac49a
Removed unnecessary trailing commas and spaces in various code.
2017-12-28 21:07:29 +01:00
Sergey Fedoseev
44908d4d93
Fixed #28967 -- Prevented Cast to FloatField from rounding to integer on MySQL.
2017-12-27 19:16:37 -05:00
hui shang
f1aa58479c
Fixed #28714 -- Added system checks for invalid model field names in Meta.indexes.
...
Thanks Gabriel for the report and Adam Johnson for the review.
2017-12-27 18:56:24 -05:00
Sergey Fedoseev
ae1baa7d1d
Refs #28459 -- Improved performance of loading DurationField on SQLite and MySQL.
2017-12-27 12:23:08 -05:00
Mads Jensen
ef6c680f60
Removed unused variable in QuerySet._earliest_or_latest().
2017-12-27 09:04:46 -05:00
Sergey Fedoseev
d0f569b350
Refs #28459 -- Improved performance of loading DecimalField on SQLite.
2017-12-26 18:12:37 -05:00
Дилян Палаузов
4c599ece57
Fixed #28930 -- Simplified code with any() and all().
2017-12-26 17:11:15 -05:00
Ran Benita
c21f158295
Fixed #28944 -- Fixed crash when chaining values()/values_list() after QuerySet.select_for_update(of=()).
2017-12-26 11:41:17 -05:00
Tim Martin
5778b5701d
Fixed #28731 -- Added an error message when using an empty Q() in a When expression.
...
Otherwise it generates invalid SQL.
2017-12-26 10:39:47 -05:00
Cameron Curry
622ead6aaf
Fixed #28937 -- Allowed BinaryField to be editable=True.
2017-12-22 16:31:46 -05:00
Simon Charette
9f7772e098
Fixed #28884 -- Fixed crash on SQLite when renaming a field in a model referenced by a ManyToManyField.
...
Introspected database constraints instead of relying on _meta.related_objects
to determine whether or not a table or a column is referenced on rename
operations.
This has the side effect of ignoring both db_constraint=False and virtual
fields such as GenericRelation which aren't backend by database level
constraints and thus shouldn't prevent the rename operations from being
performed in a transaction.
Regression in 095c1aaa89
.
Thanks Tim for the additional tests and edits, and Mariusz for the review.
2017-12-22 15:19:05 -05:00
Nick Pope
f3a98224e6
Refs #28909 -- Simplifed code using unpacking generalizations.
2017-12-21 21:05:23 -05:00
Sergey Fedoseev
ebc4ee3369
Refs #23941 -- Prevented incorrect rounding of DecimalField annotations on SQLite.
2017-12-21 19:50:56 -05:00
Sergey Fedoseev
c8a85e3e91
Fixed #28932 -- Prevented Oracle from truncating trailing zeros in the fractional part of DecimalField.
...
Fixes the test added in 6fd6d8383f
.
Regression in 7c1f3901bc
.
2017-12-20 11:55:51 -05:00
Mariusz Felisiak
fc9eec7bb7
Fixed #28934 -- Prevented Cast from truncating microseconds on Oracle.
2017-12-20 11:05:27 -05:00
Mariusz Felisiak
4420761ea9
Fixed #28727 -- Fixed Cast crash on SQLite when casting a Python date/datetime to Date/DateTimeField.
2017-12-19 19:54:58 +01:00
Sergey Fedoseev
9c9ef58352
Removed unused DatabaseOperations.date_interval_sql() on Oracle.
...
Unused since 5ca82e710e
.
2017-12-16 23:59:36 +05:00
Sergey Fedoseev
6fd6d8383f
Fixed #28915 -- Prevented SQLite from truncating trailing zeros in the fractional part of DecimalField.
...
This reverts commit a146b65628
and adds
a test for the regression.
2017-12-12 21:57:41 -10:00
Sergey Fedoseev
f9a0766f1c
Simplified SQLite converter for bool type.
2017-12-12 22:40:15 -05:00
Sergey Fedoseev
10bfa876be
Refs #27985 -- Reallowed using __exact=None as an alias for __isnull=True if a custom lookup class with lookup_name != None is registered as the exact lookup.
...
Regression in 58da81a5a3
and prerequisite
for refs #28896 .
2017-12-12 17:11:58 -10:00
Nick Pope
d13a9e44de
Fixed #28909 -- Simplified code using tuple/list/set/dict unpacking.
2017-12-11 07:08:45 -05:00
Simon Charette
b43acf22df
Refs #27849 -- Removed empty Q() hack in filtered Aggregate.as_sql().
...
This required allowing WhereNode to be provided as When(condition).
This was made possible by cf12257db2
.
2017-12-08 10:59:49 -05:00
Sergey Fedoseev
c5a2f48bed
Improved performance of loading DateTimeField on Oracle and MySQL.
2017-12-08 09:53:27 -05:00
Tim Graham
2b81faab25
Fixed #28906 -- Removed unnecessary bool() calls.
2017-12-07 17:13:07 -05:00
Tim Graham
02d9419fe3
Fixed #28907 -- Removed unnecessary if statements.
2017-12-07 17:12:00 -05:00
Tim Graham
a862af3839
Fixed #28893 -- Removed unnecessary dict.items() calls.
2017-12-06 17:17:59 -05:00
Sergey Fedoseev
183fb7b2b9
Fixed #28870 -- Added support for functools.partialmethod serialization in migrations.
2017-12-06 14:49:37 -05:00
Mariusz Felisiak
fc48047586
Refs #28876 -- Fixed incorrect foreign key constraint name for models with quoted db_table.
...
Thanks Simon Charette and Tim Graham for the review and Carlos E. C.
Leite for the report.
2017-12-05 21:11:20 +01:00
Mariusz Felisiak
f79d9a322c
Refs #28876 -- Fixed incorrect class-based model index name generation for models with quoted db_table.
...
Thanks Simon Charette and Tim Graham for the review and Carlos E. C.
Leite for the report.
2017-12-05 21:05:10 +01:00
Дилян Палаузов
87c76aa116
Fixed #28873 -- Used dict.setdefault() to set model and form field defaults.
2017-12-04 13:28:48 -05:00
Дилян Палаузов
d2afa5eb23
Fixed #28860 -- Removed unnecessary len() calls.
2017-12-04 10:35:23 -05:00
Simon Charette
095c1aaa89
Fixed #28849 -- Fixed referenced table and column rename on SQLite.
...
Thanks Ramiro for the input and Tim for the review.
2017-12-01 22:12:24 -05:00
Sergey Fedoseev
cf12257db2
Fixed #28863 -- Fixed filter on annotation that contains Q.
2017-12-01 21:48:49 -05:00
Tim Graham
c3e0adcad8
Fixed #28305 -- Fixed "Cannot change column 'x': used in a foreign key constraint" crash on MySQL with a sequence of AlterField or RenameField operations.
...
Regression in 45ded053b1
.
2017-12-01 19:07:46 -05:00
Simon Charette
e50add6ca1
Fixed #28856 -- Fixed a regression in caching of a GenericForeignKey pointing to a MTI model.
...
Regression in b9f8635f58
.
2017-11-30 09:28:44 -05:00
Mads Jensen
f0a68c2511
Fixed #28702 -- Made query lookups for CIText fields use citext.
2017-11-29 10:35:37 -05:00
Simon Charette
78c5e7b90e
Fixed #28834 -- Followed ancestor links on field cache lookup failure.
...
Thanks Tim for the review.
2017-11-29 01:28:39 -05:00
Nicolas Delaby
746caf3ef8
Fixed #28837 -- Fixed test client crash if an exception with more than one arg is raised.
...
Also removed usage of the problematic pattern elsewhere.
Regression in 6e55e1d88a
.
2017-11-28 18:55:23 -05:00
Jon Dufresne
7a6fbf36b1
Fixed #28853 -- Updated connection.cursor() uses to use a context manager.
2017-11-28 11:28:09 -05:00
Дилян Палаузов
3308085838
Fixed #28854 -- Replaced type(True) with bool in sqlite's SchemaEditor.
2017-11-28 10:44:02 -05:00
Raphael Michel
616f468760
Fixed #28848 -- Fixed SQLite/MySQL crash when ordering by a filtered subquery that uses nulls_first/nulls_last.
2017-11-27 11:35:44 -05:00
Mariusz Felisiak
ad5f33ee03
Refs #27954 -- Fixed typo in django/db/backends/postgresql/client.py comment.
2017-11-26 16:27:37 +01:00
Sergey Fedoseev
93cdd07e8f
Used bytes.hex() and bytes.fromhex() to simplify.
2017-11-23 08:52:23 -05:00
Yan Mitrofanov
54e5c4a00e
Fixed #28820 -- Eliminated an extra query with QuerySet.update() on proxy models.
2017-11-21 12:11:47 -05:00
Dražen Odobašić
d97f026a7a
Fixed #28817 -- Made QuerySet.iterator() use server-side cursors after values() and values_list().
2017-11-21 10:33:56 -05:00
Tim Graham
e3c852cbd6
Fixed #28804 -- Fixed "Unknown system variable 'transaction_isolation'" on MariaDB.
...
Regression in 967450a3bf
.
2017-11-20 10:08:34 -05:00
Krzysztof Nazarewski
244cc40155
Fixed #26184 -- Allowed using any lookups in ModelAdmin.search_fields.
...
Thanks Krzysztof Nazarewski for the initial patch.
2017-11-18 19:33:52 -05:00
Simon Charette
ee85ef8315
Fixed #28792 -- Fixed index name truncation of namespaced tables.
...
Refs #27458 , #27843 .
Thanks Tim and Mariusz for the review.
2017-11-14 21:36:25 -05:00
Sergey Fedoseev
967450a3bf
Fixed #28794 -- Fixed tx_isolation deprecation warning on MySQL 5.7.20+.
2017-11-14 15:40:44 -05:00
Дилян Палаузов
23bf4ad87f
Fixed #28795 -- Removed 'not in' checks and used dict.setdefault().
2017-11-14 10:52:52 -05:00
Sergey Fedoseev
a2ec1e6b2d
Used BaseSimpleSerializer for serializing str and bytes in migrations.
...
Follow up to c716fe8782
.
2017-11-13 14:12:46 -05:00
Mariusz Felisiak
2d3cc94284
Fixed #28781 -- Added QuerySet.values()/values_list() support for union(), difference(), and intersection().
...
Thanks Tim Graham for the review.
2017-11-12 14:28:11 +01:00
Sergey Fedoseev
bdb747a5f2
Simplified Field.get_choices().
2017-11-11 19:38:29 -05:00
Paulo
ee49306176
Fixed #27710 -- Made Model.save() invalidate cached, stale relations after a primary key assignment.
2017-11-09 11:40:34 -05:00
Дилян Палаузов
c69e4bc691
Fixed #28769 -- Replaced 'x if x else y' with 'x or y'.
2017-11-07 09:08:46 -05:00
Дилян Палаузов
6c0042430e
Fixed #28776 -- Fixed a/an/and typos in docs and comments.
2017-11-06 22:41:03 -05:00
Nick
3d22121a0b
Clarified error message for when sqlplarse isn't installed.
2017-11-03 10:09:46 -04:00