<feed xmlns='http://www.w3.org/2005/Atom'>
<title>django.git/tests/foreign_object, branch main</title>
<subtitle>django
</subtitle>
<id>http://cgit.adnoto.dev/django.git/atom?h=main</id>
<link rel='self' href='http://cgit.adnoto.dev/django.git/atom?h=main'/>
<link rel='alternate' type='text/html' href='http://cgit.adnoto.dev/django.git/'/>
<updated>2026-03-19T16:24:17Z</updated>
<entry>
<title>Fixed #36795 -- Enforced quoting of all database object names.</title>
<updated>2026-03-19T16:24:17Z</updated>
<author>
<name>Simon Charette</name>
<email>charette.s@gmail.com</email>
</author>
<published>2026-02-01T21:53:54Z</published>
<link rel='alternate' type='text/html' href='http://cgit.adnoto.dev/django.git/commit/?id=f05fac88c4699c6d04a8f1ac3328cf6c7bd39228'/>
<id>urn:sha1:f05fac88c4699c6d04a8f1ac3328cf6c7bd39228</id>
<content type='text'>
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.
</content>
</entry>
<entry>
<title>Refs #28586 -- Copied fetch modes to related objects.</title>
<updated>2025-10-16T18:52:22Z</updated>
<author>
<name>Adam Johnson</name>
<email>me@adamj.eu</email>
</author>
<published>2025-04-14T14:12:28Z</published>
<link rel='alternate' type='text/html' href='http://cgit.adnoto.dev/django.git/commit/?id=6dc9b04018032dccbb5ad8347f7ddf4341316166'/>
<id>urn:sha1:6dc9b04018032dccbb5ad8347f7ddf4341316166</id>
<content type='text'>
This change ensures that behavior and performance remain consistent when
traversing relationships.
</content>
</entry>
<entry>
<title>Fixed #36580 -- Fixed constraint validation crash when condition uses a ForeignObject.</title>
<updated>2025-09-16T14:25:16Z</updated>
<author>
<name>SaJH</name>
<email>wogur981208@gmail.com</email>
</author>
<published>2025-09-15T23:55:55Z</published>
<link rel='alternate' type='text/html' href='http://cgit.adnoto.dev/django.git/commit/?id=8c621e96422e037c3997c8c9515bc050620852f6'/>
<id>urn:sha1:8c621e96422e037c3997c8c9515bc050620852f6</id>
<content type='text'>
Follow-up to e44e8327d3d88d86895735c0e427102063ff5b55. Refs #36222.
</content>
</entry>
<entry>
<title>Refs #36580 -- Added coverage for excluding ForeignObject from constraint validation.</title>
<updated>2025-09-16T14:25:16Z</updated>
<author>
<name>SaJH</name>
<email>wogur981208@gmail.com</email>
</author>
<published>2025-09-15T23:55:20Z</published>
<link rel='alternate' type='text/html' href='http://cgit.adnoto.dev/django.git/commit/?id=308f674e6d0a89653b5071a2b0cfbf5747b33c89'/>
<id>urn:sha1:308f674e6d0a89653b5071a2b0cfbf5747b33c89</id>
<content type='text'>
</content>
</entry>
<entry>
<title>Refs #36500 -- Rewrapped long docstrings and block comments via a script.</title>
<updated>2025-07-23T23:17:55Z</updated>
<author>
<name>django-bot</name>
<email>ops@djangoproject.com</email>
</author>
<published>2025-07-23T03:41:41Z</published>
<link rel='alternate' type='text/html' href='http://cgit.adnoto.dev/django.git/commit/?id=69a93a88edb56ba47f624dac7a21aacc47ea474f'/>
<id>urn:sha1:69a93a88edb56ba47f624dac7a21aacc47ea474f</id>
<content type='text'>
Rewrapped long docstrings and block comments to 79 characters + newline
using script from https://github.com/medmunds/autofix-w505.
</content>
</entry>
<entry>
<title>Fixed #36207 -- Cleared cached ForeignObject relations via refresh_from_db().</title>
<updated>2025-05-09T12:01:04Z</updated>
<author>
<name>Jacob Walls</name>
<email>jacobtylerwalls@gmail.com</email>
</author>
<published>2025-03-09T15:18:11Z</published>
<link rel='alternate' type='text/html' href='http://cgit.adnoto.dev/django.git/commit/?id=69ab6e5896ff1a6d9e7ab8a28e75c28d3d7d65f4'/>
<id>urn:sha1:69ab6e5896ff1a6d9e7ab8a28e75c28d3d7d65f4</id>
<content type='text'>
</content>
</entry>
<entry>
<title>Americanized some spellings.</title>
<updated>2025-04-16T08:21:38Z</updated>
<author>
<name>Adam Johnson</name>
<email>me@adamj.eu</email>
</author>
<published>2025-04-15T13:24:12Z</published>
<link rel='alternate' type='text/html' href='http://cgit.adnoto.dev/django.git/commit/?id=6ef0f5bc272b316f0fd6fa706d7eaf8f1822faa4'/>
<id>urn:sha1:6ef0f5bc272b316f0fd6fa706d7eaf8f1822faa4</id>
<content type='text'>
</content>
</entry>
<entry>
<title>Fixed #36290 -- Made TupleIn() lookup discard tuples containing None.</title>
<updated>2025-04-03T18:40:43Z</updated>
<author>
<name>Simon Charette</name>
<email>charette.s@gmail.com</email>
</author>
<published>2025-04-02T17:32:38Z</published>
<link rel='alternate' type='text/html' href='http://cgit.adnoto.dev/django.git/commit/?id=f7f38f3a0b44d8c6d14344dae66b6ce52cd77b55'/>
<id>urn:sha1:f7f38f3a0b44d8c6d14344dae66b6ce52cd77b55</id>
<content type='text'>
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.
</content>
</entry>
<entry>
<title>Refs #36005 -- Used datetime.UTC alias instead of datetime.timezone.utc.</title>
<updated>2025-02-18T07:35:36Z</updated>
<author>
<name>Mariusz Felisiak</name>
<email>felisiak.mariusz@gmail.com</email>
</author>
<published>2025-02-18T07:35:36Z</published>
<link rel='alternate' type='text/html' href='http://cgit.adnoto.dev/django.git/commit/?id=efb7f9ced2dcf71294353596a265e3fd67faffeb'/>
<id>urn:sha1:efb7f9ced2dcf71294353596a265e3fd67faffeb</id>
<content type='text'>
datetime.UTC was added in Python 3.11.</content>
</entry>
<entry>
<title>Fixed #36149 -- Allowed subquery values against tuple exact and in lookups.</title>
<updated>2025-02-11T08:08:35Z</updated>
<author>
<name>Simon Charette</name>
<email>charette.s@gmail.com</email>
</author>
<published>2025-01-28T04:10:13Z</published>
<link rel='alternate' type='text/html' href='http://cgit.adnoto.dev/django.git/commit/?id=41239fe34d64e801212dccaa4585e4802d0fac68'/>
<id>urn:sha1:41239fe34d64e801212dccaa4585e4802d0fac68</id>
<content type='text'>
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.
</content>
</entry>
</feed>
