Tom Wojcik
20226fcd46
Fixed #32947 -- Fixed hash() crash on reverse M2M relation when through_fields is a list.
...
Regression in c32d8f33d8
.
2021-07-26 06:09:29 +02:00
Virtosu Bogdan
00ea883ef5
Fixed #32329 -- Made CsrfViewMiddleware catch more specific UnreadablePostError.
...
Thanks Chris Jerdonek for the review.
2021-07-23 13:10:41 +02:00
Chris Jerdonek
a2e1f1e295
Fixed #32902 -- Fixed CsrfViewMiddleware.process_response()'s cookie reset logic.
...
Thanks Florian Apolloner and Shai Berger for reviews.
2021-07-23 07:08:45 +02:00
ryowright
1783b3cb24
Fixed #32275 -- Added scrypt password hasher.
...
Co-authored-by: Mariusz Felisiak <felisiak.mariusz@gmail.com>
2021-07-22 12:40:33 +02:00
Wu Haotian
65b880b726
Fixed #32930 -- Fixed URLValidator when port numbers < 10.
2021-07-22 11:58:28 +02:00
Mariusz Felisiak
83022d279c
Refs #32508 -- Raised TypeError/ValueError instead of using "assert" in encode() methods of some password hashers.
2021-07-22 09:42:07 +02:00
Nick Pope
c35b81b864
Fixed #32951 -- Removed Query.where_class & co.
...
Unused since 3caf957ed5
.
2021-07-22 08:49:20 +02:00
yakimka
c542d0a072
Fixed #32949 -- Restored invalid number handling in DecimalField.validate().
...
DecimalField must itself validate() values, such as NaN, which cannot be
passed to validators, such as MaxValueValidator, during the
run_validators() phase.
Regression in cc3d24d7d5
.
2021-07-21 10:20:24 +02:00
David Wobrock
fd999318ad
Fixed #32704 -- Fixed list of deferred fields when chaining QuerySet.defer() after only().
2021-07-20 12:15:29 +02:00
Keryn Knight
6a970a8b46
Fixed #32944 -- Avoided unnecessary WhereNode.add() calls.
...
Co-authored-by: Mariusz Felisiak <felisiak.mariusz@gmail.com>
2021-07-20 11:59:21 +02:00
Keryn Knight
ff661dbd50
Refs #32940 -- Removed unnecessary branch in Node.add().
...
The "data in self.children" branch was causing data.__eq__ to be
called for each entries in "self.children" which resulted in a huge
slowdown during queryset construction.
It's purpose was to prevent queries of the form
Model.objects.filter(foo='bar').filter(foo='bar')
from resulting in
WHERE foo='bar' AND foo='bar'
but it's not covered by the suite and has arguable performance benefits
since it's not very common and SQL engines are usually very good at
folding/optimizing these.
See also #32632 for prior discussion around comparing data to the
Node's children.
Co-authored-by: Nick Pope <nick@nickpope.me.uk>
2021-07-20 07:19:28 +02:00
Keryn Knight
fb35e0a2fe
Refs #32940 -- Removed Node.add()'s unused squash parameter.
...
Unused since its introduction in d3f00bd570
.
Co-authored-by: Nick Pope <nick@nickpope.me.uk>
2021-07-20 07:19:28 +02:00
Nick Pope
fee8734596
Refs #10929 -- Deprecated forced empty result value for PostgreSQL aggregates.
...
This deprecates forcing a return value for ArrayAgg, JSONBAgg, and
StringAgg when there are no rows in the query. Now that we have a
``default`` argument for aggregates, we want to revert to returning the
default of ``None`` which most aggregate functions return and leave it
up to the user to decide what they want to be returned by default.
2021-07-19 13:41:16 +02:00
Nick Pope
501a8db465
Fixed #10929 -- Added default argument to aggregates.
...
Thanks to Simon Charette and Adam Johnson for the reviews.
2021-07-19 13:04:27 +02:00
Keryn Knight
59942a66ce
Fixed #32941 -- Removed get_format_modules()'s unused reverse argument.
...
Unused since 0d8b523422
.
2021-07-19 11:42:20 +02:00
Nick Pope
e21daa4e4c
Removed unnecessary tuple construction in Node.__eq__().
2021-07-19 06:38:35 +02:00
Jacob Walls
56f9579105
Fixed #32655 -- Deprecated extra_tests argument for DiscoverRunner.build_suite()/run_tests().
2021-07-16 20:46:41 +02:00
Chris Jerdonek
0dc25526d8
Fixed #32924 -- Changed BaseForm.get_initial_for_field() to remove microseconds when needed.
2021-07-16 15:51:20 +02:00
Nick Pope
304f6ff46a
Prevented SQLCompiler.execute_sql() from closing cursor twice.
...
cursor_iter() helper calls cursor.close() in a finally block.
2021-07-16 13:11:46 +02:00
David Smith
f51a792c41
Fixed #32928 -- Confirmed support for GDAL 3.3.
2021-07-16 09:36:53 +02:00
Mariusz Felisiak
a56531ab1b
Fixed #32910 -- Unified different plural equations for the same language in contrib apps.
...
Thanks Martin Svoboda for the report and initial patch.
2021-07-15 20:42:17 +02:00
pochangl
f6d3557aa1
Fixed #32929 -- Fixed handling query strings in AsyncRequestFactory.
2021-07-15 13:09:29 +02:00
Daniyal
f479df7f8d
Refs #32508 -- Raised Type/ValueError instead of using "assert" in django.db.models.
...
Co-authored-by: Mariusz Felisiak <felisiak.mariusz@gmail.com>
2021-07-15 11:43:33 +02:00
Chris Jerdonek
08f0778885
Refs #32920 -- Added BoundField._has_changed() for use in BaseForm.changed_data().
2021-07-15 10:47:02 +02:00
Chris Jerdonek
90a33ab2ce
Fixed #32920 -- Changed BaseForm to access its values through bound fields.
2021-07-15 10:47:02 +02:00
Ties Jan Hefting
84400d2e9d
Fixed #32905 -- Added CSS class for non-form errors of formsets.
2021-07-15 07:00:39 +02:00
Carlton Gibson
3a45fea083
Fixed #21936 -- Allowed DeleteView to work with custom Forms and SuccessMessageMixin.
...
Thanks to Mariusz Felisiak for review.
Co-authored-by: Demetris Stavrou <demestav@gmail.com>
Co-authored-by: Caroline Simpson <github@hoojiboo.com>
2021-07-14 09:47:03 +02:00
Nick Pope
1f4908b01a
Simplified django.utils.dateformat methods.
...
This removes unnecessary format('O') call, remove unnecessary method
calls for simple cases in TimeFormat, and simplifies time zone handling
in TimeFormat.
2021-07-13 13:27:01 +02:00
Chris Jerdonek
4be58fcc36
Fixed #32917 -- Added BaseForm._widget_data_value()/_field_data_value().
2021-07-13 06:32:46 +02:00
Wilhelm Klopp
bbf93efa19
Refs #23359 -- Corrected showmigrations help text for the --database option.
2021-07-13 06:29:21 +02:00
Mariusz Felisiak
0250340e37
Refs #32074 -- Used Enum.repr() format proposed for Python 3.10.
...
The Python's Steering Council decided to revert changes in the Enum
module (see https://bugs.python.org/issue44559 ) and moved them to
Python 3.11.
Follow up to 5d9b065d3f
.
Thanks Nick Pope for the review.
2021-07-12 11:46:37 +02:00
Chris Jerdonek
5848b3a1d7
Fixed #32914 -- Prevented test --shuffle from skipping test methods.
...
"test --shuffle" skipped test methods when test classes were mixed.
This changes runner.py's reorder_tests() to group by TestCase class.
Regression in 90ba716bf0
.
2021-07-12 06:36:12 +02:00
Ian Foote
f42ccdd835
Fixed #27021 -- Allowed lookup expressions in annotations, aggregations, and QuerySet.filter().
...
Thanks Hannes Ljungberg and Simon Charette for reviews.
Co-authored-by: Mariusz Felisiak <felisiak.mariusz@gmail.com>
2021-07-09 11:43:06 +02:00
Chris Jerdonek
f5dccbafb9
Refs #24522 -- Fixed code comment about seeds in Shuffler.__init__().
2021-07-09 08:20:16 +02:00
Chris Jerdonek
90ba716bf0
Fixed #24522 -- Added a --shuffle option to DiscoverRunner.
2021-07-08 07:29:04 +02:00
Mariusz Felisiak
77b88fe621
Fixed #32908 -- Allowed select_for_update(skip_locked) on MariaDB 10.6+.
2021-07-08 06:51:10 +02:00
Keryn Knight
5013798fe9
Fixed #32840 -- Optimized Field.get_col().
...
get_col() used "self" as "output_field" when it was not given, and
unnecessarily compared "self" to "self".
Co-authored-by: Chris Jerdonek <chris.jerdonek@gmail.com>
Co-authored-by: Mariusz Felisiak <felisiak.mariusz@gmail.com>
2021-07-07 20:32:57 +02:00
Mariusz Felisiak
355ecd1416
Fixed inspectdb and schema tests on MariaDB 10.6+.
...
The utf8 character set (and related collations) is by default an alias
for utf8mb3 on MariaDB 10.6+.
2021-07-07 17:02:20 +02:00
abhiabhi94
cf6774a53b
Fixed #32904 -- Made parse_time() more strict.
...
Thanks Keryn Knight for the report.
2021-07-07 12:08:43 +02:00
Shipeng Feng
68cc04887b
Fixed #32866 -- Fixed trimming trailing punctuation from escaped string in urlize().
2021-07-07 11:19:33 +02:00
Keryn Knight
f35ab74752
Fixed #32892 -- Optimized django.utils.dateparse functions by using fromisoformat().
2021-07-06 08:57:17 +02:00
Hannes Ljungberg
a06b977a91
Fixed #32776 -- Added support for Array subqueries on PostgreSQL.
2021-07-06 07:36:52 +02:00
Chris Jerdonek
edde2a0699
Fixed #32901 -- Optimized BaseForm.__getitem__().
2021-07-05 15:21:23 +02:00
Mateo Radman
2231429991
Refs #32508 -- Raised ImproperlyConfigured/TypeError instead of using "assert".
2021-07-05 13:31:03 +02:00
Wu Haotian
aba9c2de66
Fixed #32226 -- Fixed JSON format of QuerySet.explain() on PostgreSQL.
2021-07-05 09:08:39 +02:00
Eduardo Aldair Ahumada Garcia Jurado
e4da365436
Refs #24121 -- Added __repr__() to AdminSite, DefaultAdminSite, and ModelAdmin.
...
Thanks tlebrize for the initial patch.
2021-07-05 08:15:58 +02:00
Nick Pope
fa35c8bdbc
Fixed #30934 -- Included database alias in django.db.backends log messages.
...
This is useful when working with database routing as you want to know
where each query is being executed.
Co-authored-by: David Winterbottom <david.winterbottom@gmail.com>
2021-07-02 15:36:53 +02:00
cammil
313c3d1aa1
Fixed #28935 -- Fixed display of errors in extended blocks.
...
Get the template that caused the exception and get the
exception info from that template, using the node that
caused the exception.
2021-07-02 11:38:15 +02:00
Simon Charette
9f3cce172f
Refs #26430 -- Re-introduced empty aggregation optimization.
...
The introduction of the Expression.empty_aggregate_value interface
allows the compilation stage to enable the EmptyResultSet optimization
if all the aggregates expressions implement it.
This also removes unnecessary RegrCount/Count.convert_value() methods.
Disabling the empty result set aggregation optimization when it wasn't
appropriate prevented None returned for a Count aggregation value.
Thanks Nick Pope for the review.
2021-07-02 07:25:42 +02:00
Simon Charette
f3112fde98
Fixed #26430 -- Fixed coalesced aggregation of empty result sets.
...
Disable the EmptyResultSet optimization when performing aggregation as
it might interfere with coalescence.
2021-07-02 06:40:54 +02:00