| Age | Commit message (Collapse) | Author | |
|---|---|---|---|
| 2026-04-28 | Fixed #36912 -- Added connector validation to Q.create(). | Anna Makarudze | |
| Co-authored-by: Jacob Walls <jacobtylerwalls@gmail.com> | |||
| 2025-11-05 | Fixed CVE-2025-64459 -- Prevented SQL injections in Q/QuerySet via the ↵ | Jacob Walls | |
| _connector kwarg. Thanks cyberstan for the report, Sarah Boyce, Adam Johnson, Simon Charette, and Jake Howard for the reviews. | |||
| 2025-08-04 | Fixed #34871, #36518 -- Implemented unresolved lookups expression replacement. | Simon Charette | |
| This allows the proper resolving of lookups when performing constraint validation involving Q and Case objects. Thanks Andrew Roberts for the report and Sarah for the tests and review. | |||
| 2024-09-02 | Fixed #35712 -- Prevented Q.check() from leaving the connection in an ↵ | Alex Fischer | |
| unusable state. Co-authored-by: Simon Charette <charette.s@gmail.com> | |||
| 2024-05-02 | Refs #34007, Refs #35359 -- Added Q.referenced_based_fields property. | David Sanders | |
| Thank you to Mariusz Felisiak and Natalia Bidart for the reviews. | |||
| 2023-08-23 | Fixed #34744 -- Prevented recreation of migration for constraints with a ↵ | David Sanders | |
| dict_keys. Co-authored-by: Mariusz Felisiak <felisiak.mariusz@gmail.com> | |||
| 2022-10-31 | Fixed #16211 -- Added logical NOT support to F expressions. | David Wobrock | |
| 2022-07-27 | Refs #32948, Refs #32946 -- Used Q.create() internally for dynamic Q() objects. | Nick Pope | |
| Node.create() which has a compatible signature with Node.__init__() takes in a single `children` argument rather than relying in unpacking *args in Q.__init__() which calls Node.__init__(). In addition, we were often needing to unpack iterables into *args and can instead pass a list direct to Node.create(). | |||
| 2022-07-27 | Used AND, OR, XOR constants instead of hard-coded values. | Nick Pope | |
| 2022-05-04 | Refs #30581 -- Added Q.check() hook. | Gagaro | |
| 2022-05-03 | Refs #30581 -- Added Q.flatten(). | Gagaro | |
| 2022-03-04 | Fixed #29865 -- Added logical XOR support for Q() and querysets. | Ryan Heard | |
| 2022-02-07 | Refs #33476 -- Reformatted code with Black. | django-bot | |
| 2021-04-28 | Fixed #32632, Fixed #32657 -- Removed flawed support for Subquery ↵ | Simon Charette | |
| deconstruction. Subquery deconstruction support required implementing complex and expensive equality rules for sql.Query objects for little benefit as the latter cannot themselves be made deconstructible to their reference to model classes. Making Expression @deconstructible and not BaseExpression allows interested parties to conform to the "expression" API even if they are not deconstructible as it's only a requirement for expressions allowed in Model fields and meta options (e.g. constraints, indexes). Thanks Phillip Cutter for the report. This also fixes a performance regression in bbf141bcdc31f1324048af9233583a523ac54c94. | |||
| 2021-04-28 | Refs #32632 -- Added tests for returning a copy when combining Q() objects. | Mariusz Felisiak | |
| 2021-03-17 | Fixed #32548 -- Fixed crash when combining Q() objects with boolean expressions. | Jonathan Richards | |
| 2021-02-18 | Fixed #32450 -- Fixed crash when ANDing/ORing an empty Q() with not ↵ | starryrbs | |
| pickleable Q(). Regression in bb0b6e526340e638522e093765e534df4e4393d2. | |||
| 2018-03-29 | Added test for combining Q objects with non-Q objects. | Mads Jensen | |
| 2018-02-12 | Refs #29125 -- Made Q.deconstruct() omit 'query_utils' in the path and ↵ | Tim Graham | |
| _connector='AND' since it's a default value. | |||
| 2018-02-12 | Fixed #29125 -- Made Q.deconstruct() deterministic with multiple keyword ↵ | Tim Graham | |
| arguments. | |||
| 2017-05-25 | Fixed #28211 -- Prevented ORing an empty Q() from reducing query join ↵ | Tom | |
| efficiency. | |||
| 2017-05-25 | Refs #28211 -- Added a test for ANDing empty Q()'s. | Tim Graham | |
| This test passes to due some logic in Node.add(). | |||
| 2017-02-23 | Refs #11964 -- Made Q objects deconstructible. | Ian Foote | |
