| Age | Commit message (Collapse) | Author | |
|---|---|---|---|
| 2026-03-19 | Fixed #36795 -- Enforced quoting of all database object names. | Simon Charette | |
| This ensures all database identifiers are quoted independently of their orign and most importantly that user provided aliases through annotate() and alias() which paves the way for dropping the allow list of characters such aliases can contain. This will require adjustments to raw SQL interfaces such as RawSQL that might make reference to ORM managed annotations as these will now be quoted. The `SQLCompiler.quote_name_unless_alias` method is kept for now as an alias for the newly introduced `.quote_name` method but will be duly deprecated in a follow up commit. | |||
| 2025-10-16 | Refs #28586 -- Copied fetch modes to related objects. | Adam Johnson | |
| This change ensures that behavior and performance remain consistent when traversing relationships. | |||
| 2025-09-16 | Fixed #36580 -- Fixed constraint validation crash when condition uses a ↵ | SaJH | |
| ForeignObject. Follow-up to e44e8327d3d88d86895735c0e427102063ff5b55. Refs #36222. | |||
| 2025-09-16 | Refs #36580 -- Added coverage for excluding ForeignObject from constraint ↵ | SaJH | |
| validation. | |||
| 2025-07-23 | Refs #36500 -- Rewrapped long docstrings and block comments via a script. | django-bot | |
| Rewrapped long docstrings and block comments to 79 characters + newline using script from https://github.com/medmunds/autofix-w505. | |||
| 2025-05-09 | Fixed #36207 -- Cleared cached ForeignObject relations via refresh_from_db(). | Jacob Walls | |
| 2025-04-16 | Americanized some spellings. | Adam Johnson | |
| 2025-04-03 | Fixed #36290 -- Made TupleIn() lookup discard tuples containing None. | Simon Charette | |
| Just like the In() lookup discards of None members TupleIn() should discard tuples containing any None as NULL != NULL in SQL and the framework expects such queries to be elided under some circumstances. Refs #31667, #36116. Thanks Basptise Mispelon for bisecting the regression to 626d77e. | |||
| 2025-02-18 | Refs #36005 -- Used datetime.UTC alias instead of datetime.timezone.utc. | Mariusz Felisiak | |
| datetime.UTC was added in Python 3.11. | |||
| 2025-02-11 | Fixed #36149 -- Allowed subquery values against tuple exact and in lookups. | Simon Charette | |
| Non-tuple exact and in lookups have specialized logic for subqueries that can be adapted to properly assign select mask if unspecified and ensure the number of involved members are matching on both side of the operator. | |||
| 2025-01-21 | Fixed #36116 -- Optimized multi-column ForwardManyToOne prefetching. | Simon Charette | |
| Rely on ColPairs and TupleIn which support a single column to be specified to avoid special casing ForwardManyToOne.get_prefetch_querysets(). Thanks Jacob Walls for the report. | |||
| 2025-01-15 | Refs #16055 -- Removed get_joining_columns()/get_reverse_joining_columns() ↵ | Sarah Boyce | |
| methods per deprecation timeline. | |||
| 2025-01-06 | Fixed #36048 -- Preferred ValueError to NotSupportedError for composite pk ↵ | Jacob Walls | |
| sanity checks. These checks are not backend-dependent. | |||
| 2024-11-04 | Refs #373 -- Added TupleIn subqueries. | Bendeguz Csirmaz | |
| 2024-11-01 | Refs #373 -- Used a feature flag to disable composite subquery test on MySQL. | Simon Charette | |
| 2024-10-14 | Refs #373 -- Added additional validations to tuple lookups. | Bendeguz Csirmaz | |
| 2024-09-26 | Refs #373 -- Added support for using tuple lookups in filters. | Bendeguz Csirmaz | |
| 2024-09-20 | Refs #373 -- Updated TupleIsNull lookup to check if any is NULL rather than all. | Bendeguz Csirmaz | |
| Regression in 1eac690d25dd49088256954d4046813daa37dc95. | |||
| 2024-09-11 | Refs #373 -- Improved test coverage of tuple lookup checks. | Bendeguz Csirmaz | |
| This also removed unreachable checks. | |||
| 2024-08-28 | Refs #16055 -- Adjusted deprecation warning stacklevel in ↵ | Simon Charette | |
| get_joining_columns()/get_reverse_joining_columns(). | |||
| 2024-08-01 | Refs #373 -- Added tuple lookups. | Bendeguz Csirmaz | |
| 2024-07-22 | Fixed #35614 -- Prevented SQLCompiler.as_subquery_condition() from mutating ↵ | Bendeguz Csirmaz | |
| a query. | |||
| 2023-04-18 | Refs #16055 -- Deprecated ↵ | David Wobrock | |
| get_joining_columns()/get_reverse_joining_columns() methods. | |||
| 2023-04-18 | Fixed #16055 -- Fixed crash when filtering against char/text GenericRelation ↵ | David Wobrock | |
| relation on PostgreSQL. | |||
| 2023-02-01 | Refs #33476 -- Applied Black's 2023 stable style. | David Smith | |
| Black 23.1.0 is released which, as the first release of the year, introduces the 2023 stable style. This incorporates most of last year's preview style. https://github.com/psf/black/releases/tag/23.1.0 | |||
| 2022-10-08 | Refs #33990 -- Renamed TransactionTestCase.assertQuerysetEqual() to ↵ | Gregor Gärtner | |
| assertQuerySetEqual(). Co-Authored-By: Michael Howitz <mh@gocept.com> | |||
| 2022-02-22 | Removed redundant QuerySet.all() calls in docs and tests. | Nick Pope | |
| Most QuerySet methods are mapped onto the Manager and, in general, it isn't necessary to call .all() on the manager. | |||
| 2022-02-07 | Refs #33476 -- Refactored code to strictly match 88 characters line length. | Mariusz Felisiak | |
| 2022-02-07 | Refs #33476 -- Reformatted code with Black. | django-bot | |
| 2021-11-03 | Fixed #32996 -- Cached PathInfos on relations. | Keryn Knight | |
| PathInfo values are ostensibly static over the lifetime of the object for which they're requested, so the data can be memoized, quickly amortising the cost over the process' duration. | |||
| 2021-07-22 | Fixed #32951 -- Removed Query.where_class & co. | Nick Pope | |
| Unused since 3caf957ed5eaa831a485abcb89f27266dbf3e82b. | |||
| 2021-05-12 | Fixed #32366 -- Updated datetime module usage to recommended approach. | Nick Pope | |
| - Replaced datetime.utcnow() with datetime.now(). - Replaced datetime.utcfromtimestamp() with datetime.fromtimestamp(). - Replaced datetime.utctimetuple() with datetime.timetuple(). - Replaced calendar.timegm() and datetime.utctimetuple() with datetime.timestamp(). | |||
| 2020-11-06 | Fixed #31235 -- Made assertQuerysetEqual() compare querysets directly. | Hasan Ramezani | |
| This also replaces assertQuerysetEqual() to assertSequenceEqual()/assertCountEqual() where appropriate. Co-authored-by: Peter Inglesby <peter.inglesby@gmail.com> Co-authored-by: Mariusz Felisiak <felisiak.mariusz@gmail.com> | |||
| 2020-02-19 | Fixed typos in docs and a test comment. | Yoo In Keun | |
| 2020-02-04 | Simplified imports from django.db and django.contrib.gis.db. | Nick Pope | |
| 2018-11-27 | Adjusted code style of a few test data setup methods. | Simon Charette | |
| Thanks Mariusz for suggesting it. | |||
| 2018-11-27 | Switched setUp() to setUpTestData() where possible in Django's tests. | Simon Charette | |
| 2018-11-08 | Fixed #29908 -- Fixed setting of foreign key after related set access if ↵ | Simon Charette | |
| 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-08-22 | Removed invalid Meta.ordering in a test model. | Tim Graham | |
| It never worked and was never used. | |||
| 2018-03-16 | Fixed hanging indentation in various code. | Mariusz Felisiak | |
| 2017-09-22 | Fixed #27332 -- Added FilteredRelation API for conditional join (ON clause) ↵ | Nicolas Delaby | |
| support. Thanks Anssi Kääriäinen for contributing to the patch. | |||
| 2017-08-10 | Refs #16043 -- Refactored internal fields value cache. | Paulo | |
| * Removed all hardcoded logic for _{fieldname}_cache. * Added an internal API for interacting with the field values cache. Thanks carljm and MarkusH for support. | |||
| 2017-07-29 | Used assertRaisesMessage() to test Django's error messages. | Mads Jensen | |
| 2017-06-01 | Refs #23968 -- Removed unnecessary lists, generators, and tuple calls. | Jon Dufresne | |
| 2017-06-01 | Sorted imports per isort 4.2.9. | Tim Graham | |
| 2017-05-10 | Decreased max_length for char fields unless absolutely needed. (#8485) | Florian Apolloner | |
| 2017-03-17 | Replaced type-specific assertions with assertEqual(). | Tim Graham | |
| Python docs say, "it's usually not necessary to invoke these methods directly." | |||
| 2017-01-25 | Refs #23919 -- Replaced super(ClassName, self) with super(). | chillaranand | |
| 2017-01-19 | Refs #23919 -- Stopped inheriting from object to define new style classes. | Simon Charette | |
| 2017-01-18 | Refs #23919 -- Removed python_2_unicode_compatible decorator usage | Claude Paroz | |
