Tim Graham
bfe0d54514
Refs #26230 -- Removed support for model name query lookups when using Meta.default_related_name.
...
Per deprecation timeline.
2017-01-17 20:52:03 -05:00
Tim Graham
bcf3532ede
Refs #26154 -- Removed deprecated CommaSeparatedIntegerField.
2017-01-17 20:52:02 -05:00
Tim Graham
ed251246cc
Refs #25550 -- Removed support for direct assignment to the reverse side of a related set.
2017-01-17 20:52:01 -05:00
Tim Graham
733c7c7030
Refs #24716 -- Removed Field._get_val_from_obj() per deprecation timeline.
2017-01-17 20:52:00 -05:00
Tim Graham
e707e4c709
Refs #19738 -- Removed timezone conversion in SQL queries executed outside of the ORM.
...
Per deprecation timeline.
2017-01-17 14:09:29 -05:00
Tim Graham
b2ffbb00a5
Refs #24215 -- Removed add_lazy_relation() per deprecation timeline.
2017-01-17 14:09:29 -05:00
Tim Graham
ddd3268975
Refs #21127 -- Required on_delete for ForeignKey/OneToOneField.
...
Per deprecation timeline.
2017-01-17 14:09:28 -05:00
Tim Graham
625e9da9ca
Removed Field.rel and Field.remote_field.to per deprecation timeline.
2017-01-17 14:09:28 -05:00
Tim Graham
a3bd8672d8
Refs #24154 -- Removed deprecated BaseDatabaseOperations.check_aggregate_support().
2017-01-17 14:09:28 -05:00
Tim Graham
03087f80d1
Refs #24205 -- Removed Signal.disconnect()'s weak argument.
...
Per deprecation timeline.
2017-01-17 14:09:28 -05:00
Tim Graham
f01ad1cb6a
Refs #27683 -- Allowed setting isolation level in DATABASES ['OPTIONS'] on MySQL.
2017-01-17 11:16:15 -05:00
Markus Holtermann
46e0335583
Refs #27666 -- Added ProjectState.reload_models().
2017-01-17 08:12:53 -05:00
Markus Holtermann
45ded053b1
Fixed #27666 -- Delayed rendering of recursivly related models in migration operations.
2017-01-17 08:12:52 -05:00
Mariusz Felisiak
7d2db2a7b8
Refs #27690 -- Removed sleep before drop test db on Oracle.
2017-01-16 19:20:28 -05:00
Mads Jensen
65e321b781
Refs #25809 -- Made a few late review comments for BrinIndex.
2017-01-16 13:23:20 -05:00
Tim Graham
b5511dddd6
Moved unneeded ImproperlyConfigured inner imports.
2017-01-16 12:48:41 -05:00
Josh Smeaton
1df89a60c5
Fixed #25307 -- Fixed QuerySet.annotate() crash with conditional expressions.
...
Thanks Travis Newport for the tests and Josh Smeaton for contributing
to the patch.
2017-01-16 10:03:15 -05:00
Mads Jensen
0bc59978ab
Fixed #27736 -- Used decorators for lookup registration.
2017-01-16 09:22:26 -05:00
François Freitag
05bdf4f44d
Refs #16614 -- Called _prepare_cursor() on every created cursor.
2017-01-16 09:12:23 -05:00
Mads Jensen
e585c43be9
Fixed #25809 -- Added BrinIndex support in django.contrib.postgres.
...
Thanks Tim Graham and Markus Holtermann for review.
2017-01-15 13:37:18 +01:00
Matthew Schinckel
236ebe94bf
Fixed #27149 -- Added Subquery and Exists database expressions.
...
Thanks Josh Smeaton for Oracle fixes.
2017-01-14 09:12:24 -05:00
Florian Apolloner
84c1826ded
Fixed #27718 -- Added QuerySet.union(), intersection(), difference().
...
Thanks Mariusz Felisiak for review and Oracle assistance.
Thanks Tim Graham for review and writing docs.
2017-01-14 08:32:07 -05:00
François Freitag
6b6be692fc
Refs #16614 -- Prevented database errors from being masked by cursor close.
...
When an error occurred during the cursor.execute statement, the cursor
is closed. This operation did not fail with client-side cursors. Now,
with server-side cursors, the close operation might fail (example
below). The original error should be raised, not the one raised by
cursor.close(), this is only clean-up code.
For example, one can attempt to create a named cursor for an invalid
query. psycopg will raise an error about the invalid query and the
server-side cursor will not be created on PostgreSQL. When the code
attempts to cursor.close(), it asks psycopg to close a cursor that was
not created. pyscopg raises a new error: psycopg2.OperationalError:
cursor "_django_curs_140365867840512_20" does not exist.
2017-01-14 07:13:00 -05:00
Simon Charette
973cfd2ef5
Refs #20483 -- Implemented cascaded flush on Oracle.
...
The initial implementation added support for PostgreSQL but it is also required
on Oracle (13b7f299de
).
Thanks Mariusz Felisiak for the foreign key retreival queries.
2017-01-13 08:50:03 -05:00
François Freitag
f3b7c05936
Refs #16614 -- Made QuerySet.iterator() use server-side cursors on PostgreSQL.
...
Thanks to Josh Smeaton for the idea of implementing server-side cursors
in PostgreSQL from the iterator method, and Anssi Kääriäinen and Kevin
Turner for their previous work. Also Simon Charette and Tim Graham for
review.
2017-01-11 09:25:37 -05:00
Ed Morley
7156a6c9c4
Fixed #27717 -- Allowed migration optimization across AlterModelOptions.
2017-01-10 18:38:48 -05:00
David Szotten
7a6863c338
Fixed #27690 -- Removed time.sleep(1) before dropping the test database.
...
Uncertain if this is needed, but no failures have appeared so far.
2017-01-06 15:28:22 -05:00
anabelensc
1c12df4aa6
Fixed #25912 -- Added binary left/right shift operators to F expressions.
...
Thanks Mariusz Felisiak for review and MySQL advice.
2017-01-03 14:15:46 -05:00
Mariusz Felisiak
fd2f7e4767
Fixed #27681 -- Fixed binary &/| operators for negative values on MySQL.
2017-01-03 12:41:44 -05:00
Josh Smeaton
26c9f529c9
Refs #27632 -- Simplified params dict creation for Oracle ( #7772 )
2017-01-01 12:39:03 +11:00
Andrew Nester
69b7d4b116
Fixed #27458 -- Fixed invalid sequence/index names when using "USER"."TABLE" db_table on Oracle.
2016-12-30 17:11:12 -05:00
Mariusz Felisiak
7d14889aa3
Fixed #27615 -- Used timedeltas as arguments to Oracle database driver.
...
Removed unused DatabaseFeatures.driver_supports_timedeltas workaround.
2016-12-29 15:49:18 -05:00
Tim Graham
fae56427e1
Fixed #27649 -- Bumped required cx_Oracle to 5.2.
...
Removed obsolete workarounds from 1aa4889808
and dcf3be7a62
.
2016-12-29 12:45:25 -05:00
Adam Chainz
391c450fba
Refs #25415 -- Made MySQL backend skip field validation of unsupported models.
2016-12-29 12:01:48 -05:00
Florian Apolloner
00c7bfadf4
Removed unused enumerate.
2016-12-29 14:55:17 +01:00
Simon Charette
813805833a
Fixed #27631 -- Prevented execution of transactional DDL statements when unsupported.
...
Executing a DDL statement during a transaction on backends that don't support
it silently commits, leaving atomic() in an incoherent state.
While schema_editor.execute() could technically be used to execute DML
statements such usage should be uncommon as these are usually performed through
the ORM. In other cases schema_editor.connection.execute() can be used to
circumvent this check.
Thanks Adam and Tim for the review.
2016-12-28 19:43:32 -05:00
Mariusz Felisiak
4579c3f6b8
Refs #27632 -- Unified query parameters by their types and values on Oracle.
...
Fixed Python 2 regression in 6dbe56ed78
.
Thanks Simon Charette for the implementation idea.
2016-12-28 17:20:42 -05:00
Tim Graham
e3e80da7a5
Fixed #27651 -- Allowed M2M to concrete and proxy through model.
2016-12-28 12:48:17 -05:00
Mariusz Felisiak
6dbe56ed78
Fixed #27632 -- Unified query parameters by their values on Oracle.
2016-12-28 08:14:14 -05:00
Simon Charette
cd7efa2033
Fixed #25492 -- Checked deferred foreign key constraints before dropping them.
...
This allows running foreign key data and schema altering operations in the
same migration on PostgreSQL.
Thanks Tim for review.
2016-12-24 13:53:11 -05:00
Peter Inglesby
a4cac17200
Fixed #27498 -- Fixed filtering on annotated DecimalField on SQLite.
2016-12-24 10:38:48 -05:00
Adam Chainz
8d94d575f8
Used @cached_property in RawQuerySet.
2016-12-23 10:12:48 -05:00
Adam Chainz
6ebf8f9057
Refs #27624 -- Made QuerySet._prefetch_related_lookups immutable.
2016-12-23 09:58:22 -05:00
Andrey Kuzminov
b8741c0058
Refs #18823 -- Corrected field name in an m2m manager error message.
2016-12-23 09:31:26 -05:00
Tim Graham
09a7f121b5
Removed unneeded values in NullBooleanField.formfield().
...
These values are duplicated in the super().
2016-12-20 07:54:54 -05:00
Mariusz Felisiak
cc0bb07013
Refs #19884 -- Removed DatabaseFeatures.can_introspect_max_length.
...
Unused (always True) after 3e43d24ad3
.
2016-12-19 16:16:11 -05:00
Mariusz Felisiak
3e43d24ad3
Refs #19884 -- Added CharField max_length introspection on Oracle.
2016-12-19 08:29:42 -05:00
Adam Chainz
d2a26c1a90
Optimized Model instantiation a bit.
...
* Avoid some unnecessary attribute lookups, e.g. access signals directly rather than from module
* Alias some repeat accesses inside the method to use the slightly faster local lookups
* Use tuple to iterate remaining kwargs as it's faster to construct
* Cache Field.get_default() to avoid running through all the logic on every call
* Use a cached list of the properties on the model class to avoid repeat isinstance() calls
2016-12-15 13:42:44 -05:00
Morgan Aubert
ef889d5b10
Fixed #27599 -- Fixed Field.__str__() crash for fields not attached to models.
2016-12-14 14:04:26 -05:00
Daniel Hillier
7da37699e8
Fixed #27594 -- Fixed select_related() with reverse self-referential OneToOneField.
...
Fixed definition of `klass_info['from_parent']` so that two models aren't
considered from a parent class if the model classes are the same.
2016-12-14 07:46:27 -05:00
Simon Charette
ecd625e830
Fixed #27310 -- Stopped rendering apps in RenameModel.state_forwards.
...
Thanks Tim for the review.
2016-12-10 10:19:06 -05:00
Yohann Gabory
47ef8f31f3
Fixed #13312 -- Allowed specifying the order of null fields in queries.
...
Thanks Mariusz Felisiak for finishing the patch.
2016-12-08 09:54:07 -05:00
InvalidInterrupt
98359109eb
Fixed #17002 -- Allowed using a ManyToManyField through model that inherits another.
2016-12-07 17:50:51 -05:00
Sergey Fedoseev
f909fa84be
Fixed #25708 -- Fixed annotations with geometry values.
2016-12-07 14:16:29 -05:00
Tim Graham
dd99e69fa8
Refs #27025 -- Fixed Python 3.6 deprecation warning for empty model super() calls.
...
https://bugs.python.org/issue23722
Thanks Nick Coghlan for advice and review.
2016-12-05 19:37:23 -05:00
Mariusz Felisiak
2d259e6bad
Refs #27324 -- Optimized DatabaseIntrospection.get_constraints() for foreign keys on Oracle.
2016-12-05 19:12:37 -05:00
Mariusz Felisiak
b059ddf066
Fixed #27561 -- Added Oracle support for binary "or" operator.
...
Removed DatabaseFeatures.supports_bitwise_or feature (unused, always True).
2016-12-02 16:59:39 -05:00
Keda87
48826aa541
Fixed #27546 -- Removed hardcoded class names in __repr__() methods.
2016-12-01 08:11:09 -05:00
Mariusz Felisiak
e17f40f4b5
Refs #24245 -- Added introspection for database defaults on Oracle.
2016-11-30 11:21:57 -05:00
Lex Berezhny
1a9bd75bfa
Refs #27358 -- Fixed system check crash with an empty FileField.upload_to.
2016-11-30 10:07:42 -05:00
Henry Dang
7cddd8a02e
Fixed #27358 -- Added a system check to prevent FileField's upload_to from starting with a slash.
...
Thanks Frank Bijlsma for the initial patch.
2016-11-29 16:12:24 -05:00
Andrew Nester
ade52ef71f
Fixed #27544 -- Fixed QuerySet.update(dt=F('dt') + timedelta) crash on SQLite.
2016-11-29 12:23:44 -05:00
Adam Chainz
95238a7de8
Fixed #27321 -- Added detection for table case name sensitivity on MySQL.
2016-11-28 13:29:21 -05:00
Mads Jensen
aa2cb4c622
Refs #26327 -- Renamed JsonAgg to JSONBAgg.
...
Thanks to Christian von Roques for the report.
2016-11-28 06:57:01 -05:00
Adam Chainz
6252fd6314
Fixed #27532 -- Deprecated Model._meta.has_auto_field
2016-11-25 13:24:11 -05:00
Daniel Hahler
eb42d8d5d9
Fixed grammar in sqlite's DatabaseOperations.bulk_batch_size()'s docstring.
2016-11-25 07:50:59 -05:00
Adam Chainz
92bbef8b9e
Improved the way Model.save() skips the auto_field.
...
Identity comparison is quicker than isinstance(), and it avoids coupling
between Model and AutoField.
2016-11-24 06:01:36 -05:00
Adam Chainz
e044026dce
Fixed #27499 -- Made Prefetches pickle without evaluating their QuerySet.
2016-11-23 11:23:14 -05:00
Tim Graham
2e5fbe889f
Cleaned up some __getstate__() docstrings.
2016-11-23 09:45:21 -05:00
Mariusz Felisiak
b63d0c54b0
Fixed #24959 -- Fixed queries using negative timedeltas on MySQL and Oracle.
2016-11-23 09:10:47 -05:00
Mark Young
2742901ac2
Fixed #27504 -- Allowed using the ORM after an error and rollback when autocommit is off.
2016-11-23 08:42:19 -05:00
Quentin Fulsher
f62abfc03d
Fixed #27295 -- Added a system check to prohibit model names that start or end with an underscore or contain double underscores.
2016-11-22 10:14:10 -05:00
Adam Chainz
74742aa956
Fixed #27512 -- Removed unused code in Model.__init__().
2016-11-20 19:39:32 -05:00
Adam Chainz
9d4246419c
Refs #26207 -- Removed obsolete comments about deferred model classes.
2016-11-20 18:22:13 -05:00
Adam Chainz
cc1f6f26b6
Fixed #27514 -- Tested Model.__init__ excessive number of fields.
2016-11-20 13:21:59 -05:00
Simon Charette
31a56e30cf
Fixed #27407 -- Made Model.delete(keep_parents=True) preserve parent reverse relationships.
...
Thanks Tim for the review.
2016-11-15 20:16:06 -05:00
Ramin Farajpour Cami
0a63ef3f61
Fixed #27463 -- Fixed E741 flake8 warnings.
2016-11-14 17:40:28 -05:00
Sergey Fedoseev
c7bfcd2f37
Fixed #27481 -- Made SQLite return annotated boolean values as boolean, not integer.
...
Thanks Simon Charette for review.
2016-11-14 14:47:20 -05:00
Ramin Farajpour Cami
967be82443
Fixed E305 flake8 warnings.
2016-11-14 12:30:46 -05:00
Mads Jensen
1446902be4
Fixed #25240 -- Added ExtractWeek and exposed it through the __week lookup.
...
Thanks to Mariusz Felisiak and Tim Graham for review.
2016-11-11 08:01:40 -05:00
Tim Graham
ac0cf97cb4
Removed redundant DateTimeField.register_lookup()s.
...
DateTimeField inherits these lookups from DateField.
2016-11-10 10:15:56 -05:00
Mariusz Felisiak
dacef9137f
Refs #27420 -- Removed exception hiding in Oracle test user creation during --keepdb.
...
If the test user creation fails here, _create_test_db() would return without
switching to the test user which caused the tests to run using the main
connection instead of the test user.
2016-11-08 16:53:52 -05:00
Mariusz Felisiak
c4b04e1598
Fixed #27420 -- Quoted the Oracle test user password in queries.
2016-11-08 16:30:22 -05:00
Maxime Lorant
cb3fb34b86
Fixed #27378 -- Added support for serialization of uuid.UUID in migrations.
...
Thanks Yuriy Korobko for the initial patch and Tobias McNulty for review.
2016-11-06 13:53:00 +01:00
Saulius Žemaitaitis
f28d29e8b7
Fixed #27372 -- Fixed introspection of SQLite foreign keys with spaces in DDL.
...
Thanks samuller for the report and initial patch.
2016-11-06 10:13:32 +01:00
Adam Chainz
c7dddc01d6
Fixed #27441 -- Improved SQL for 'DROP COLUMN' on MySQL
...
'CASCADE' is an undocumented no-op in MySQL, so to avoid confusion Django no longer outputs it.
2016-11-05 22:23:57 +01:00
Marti Raudsepp
da7910d483
Fixed CVE-2016-9013 -- Generated a random database user password when running tests on Oracle.
...
This is a security fix.
2016-11-01 09:30:57 -04:00
Tim Graham
2f9861d823
Fixed #27148 -- Fixed ModelMultipleChoiceField crash with invalid UUID.
2016-10-31 15:21:05 -04:00
Michael Scott
ec9ed07488
Fixed #27188 -- Allowed using unique=True with FileField.
...
Thanks Tim Graham for the initial patch.
2016-10-28 20:11:03 -04:00
Aymeric Augustin
fd748c42a9
Simplified AppConfig.import_models().
...
Since AppConfig now has a reference to its parent Apps registry,
it can look up the models there instead of receiving them in argument.
2016-10-28 18:43:45 -04:00
Aymeric Augustin
efcb7e1ebf
Modified readiness check in AppConfig.get_model(s).
...
It was inconsistent with the equivalent check in Apps.get_model(s)
because I made incorrect assumptions when I wrote that code and
needlessly complicated readiness checks.
This is a backwards-incompatible change.
2016-10-28 18:42:29 -04:00
Tim Graham
1bc249c2a6
Fixed #20939 -- Simplified query generation by converting QuerySet to Query.
...
Thanks Anssi Kääriäinen for the initial patch and Anssi, Simon Charette,
and Josh Smeaton for review.
2016-10-28 11:20:23 -04:00
Tim Graham
414ad25b09
Fixed #27327 -- Simplified time zone handling by requiring pytz.
2016-10-27 08:53:20 -04:00
Adam Chidlow
f734e2d4b2
Fixed #27334 -- Allowed FileField to move rather than copy a file.
...
When a FileField is set to an instance of File that is not also an
instance of FieldFile, pre_save() passes that object as the contents to
Storage.save(). This allows the file to be moved rather than copied
to the upload destination.
2016-10-26 12:25:30 -04:00
David Barragán Merino
b3bd3aa07c
Fixed #27385 -- Fixed QuerySet.bulk_create() on PostgreSQL when the number of objects is a multiple plus one of batch_size.
2016-10-25 19:21:08 -04:00
Marti Raudsepp
51fbe2a60d
Updated postgresql.org links to https and made them canonical.
2016-10-25 11:43:32 -04:00
Tim Graham
19f1321fa4
Removed unused loop in Query.change_aliases().
...
Unknown if it was ever used.
2016-10-24 11:27:41 -04:00
François Freitag
86bb9a0502
Refs #20888 -- Fixed index ordering introspection on PostgreSQL 9.6.
2016-10-17 07:16:13 -04:00
Tim Graham
50864b402b
Removed unused branch in ModelIterable.__iter__().
...
Unknown if it was ever used.
2016-10-15 10:19:47 -04:00
Tim Graham
5d1941adcf
Removed unused 'field' argument to DeleteQuery.delete_batch().
...
Unused since a170c3f755
.
2016-10-15 10:19:02 -04:00