<feed xmlns='http://www.w3.org/2005/Atom'>
<title>django.git/tests/model_fields, 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-04-22T21:06:29Z</updated>
<entry>
<title>Fixed #35870 -- Made blank choice label in forms more accessible.</title>
<updated>2026-04-22T21:06:29Z</updated>
<author>
<name>Annabelle Wiegart</name>
<email>annabelle.wiegart@proton.me</email>
</author>
<published>2026-01-18T19:03:28Z</published>
<link rel='alternate' type='text/html' href='http://cgit.adnoto.dev/django.git/commit/?id=63c56cda133a85a158502891c40465bc0331d3d9'/>
<id>urn:sha1:63c56cda133a85a158502891c40465bc0331d3d9</id>
<content type='text'>
Added new constant django.db.models.fields.BLANK_CHOICE_LABEL for
an accessible and translatable blank choice label in forms.
Deprecated django.db.models.fields.BLANK_CHOICE_DASH constant.
Added the immediately deprecated transitional setting
USE_BLANK_CHOICE_DASH.

Co-Authored-By: Marijke Luttekes &lt;mail@marijkeluttekes.dev&gt;
</content>
</entry>
<entry>
<title>Refs #36494 -- Prevented crash in JSONField numeric lookups with expressions.</title>
<updated>2026-03-24T21:54:02Z</updated>
<author>
<name>Vignesh Anand</name>
<email>vigneshanandmay13@gmail.com</email>
</author>
<published>2026-03-24T21:54:02Z</published>
<link rel='alternate' type='text/html' href='http://cgit.adnoto.dev/django.git/commit/?id=386257b33eb2a925cecc1a12ba5e7dd694617186'/>
<id>urn:sha1:386257b33eb2a925cecc1a12ba5e7dd694617186</id>
<content type='text'>
</content>
</entry>
<entry>
<title>Fixed #36906 -- Handled coalescing JSON-primitive strings and JSON values on Oracle.</title>
<updated>2026-03-16T15:53:25Z</updated>
<author>
<name>Kanin Kearpimy</name>
<email>kanin.kearpimy@gmail.com</email>
</author>
<published>2026-03-11T13:06:40Z</published>
<link rel='alternate' type='text/html' href='http://cgit.adnoto.dev/django.git/commit/?id=d7bf84324fb4b0789302bd0624697ba973dd7140'/>
<id>urn:sha1:d7bf84324fb4b0789302bd0624697ba973dd7140</id>
<content type='text'>
</content>
</entry>
<entry>
<title>Fixed #36727 -- Deprecated Field.get_placeholder in favor of get_placeholder_sql.</title>
<updated>2026-03-13T00:01:02Z</updated>
<author>
<name>Simon Charette</name>
<email>charette.s@gmail.com</email>
</author>
<published>2025-11-22T18:32:34Z</published>
<link rel='alternate' type='text/html' href='http://cgit.adnoto.dev/django.git/commit/?id=1a8fd5cf75bf855852f6bc2f75c3da9f7b145669'/>
<id>urn:sha1:1a8fd5cf75bf855852f6bc2f75c3da9f7b145669</id>
<content type='text'>
The lack of ability of the get_placeholder call chain to return SQL and
parameters separated so they can be mogrified by the backend at execution time
forced implementations to dangerously interpolate potentially user controlled
values.

The get_placeholder_sql name was chosen due to its proximity to the previous
method, but other options such as Field.as_sql were considered but ultimately
rejected due to its different input signature compared to Expression.as_sql
that might have lead to confusion.

There is a lot of overlap between what Field.get_db_prep_value and
get_placeholder_sql do but folding the latter in the former would require
changing its return signature to return expression which is a way more invasive
change than what is proposed here.

Given we always call get_db_prep_value it might still be an avenue worth
exploring in the future to offer a publicly documented interface to allow field
to take an active part in the compilation chain.

Thanks Jacob for the review.
</content>
</entry>
<entry>
<title>Fixed #36847 -- Ensured auto_now_add fields are set on pre_save().</title>
<updated>2026-01-29T13:11:33Z</updated>
<author>
<name>Nilesh Kumar Pahari</name>
<email>nileshpahari@protonmail.com</email>
</author>
<published>2026-01-25T18:32:29Z</published>
<link rel='alternate' type='text/html' href='http://cgit.adnoto.dev/django.git/commit/?id=fe189dc43ab3eddbbceefb6834893b73ca60d5ed'/>
<id>urn:sha1:fe189dc43ab3eddbbceefb6834893b73ca60d5ed</id>
<content type='text'>
Regression in 94680437a45a71c70ca8bd2e68b72aa1e2eff337. Refs #27222.

During INSERT operations, `field.pre_save()` is called to prepare values
for db insertion. The `add` param must be `True` for `auto_now_add`
fields to be populated. The regression commit passed `False`, causing
`auto_now_add` fields to remain `None` when used by other fields, such
as `upload_to` callables.

Thanks Ran Benita for the report.
</content>
</entry>
<entry>
<title>Fixed #36233 -- Avoided quantizing integers stored in DecimalField on SQLite.</title>
<updated>2026-01-28T22:04:39Z</updated>
<author>
<name>Samriddha9619</name>
<email>sumitkumartripathi0@gmail.com</email>
</author>
<published>2026-01-19T20:08:34Z</published>
<link rel='alternate' type='text/html' href='http://cgit.adnoto.dev/django.git/commit/?id=2831eaed797627e6e6410b06f74dadeb63316e09'/>
<id>urn:sha1:2831eaed797627e6e6410b06f74dadeb63316e09</id>
<content type='text'>
Co-authored-by: Simon Charette &lt;charette.s@gmail.com&gt;
Co-authored-by: Jacob Walls &lt;jacobtylerwalls@gmail.com&gt;
</content>
</entry>
<entry>
<title>Refs #36806 -- Removed unnecessary null=True from GeneratedField in test models.</title>
<updated>2025-12-23T01:38:55Z</updated>
<author>
<name>Nilesh Kumar Pahari</name>
<email>nileshpahari@protonmail.com</email>
</author>
<published>2025-12-22T22:23:18Z</published>
<link rel='alternate' type='text/html' href='http://cgit.adnoto.dev/django.git/commit/?id=968f3f96373e028f1486d135e38331fcd0e3a0ca'/>
<id>urn:sha1:968f3f96373e028f1486d135e38331fcd0e3a0ca</id>
<content type='text'>
Test coverage is preserved because the tests only verify that generated
fields can produce NULL values when the source field is nullable.

This addresses system check warnings in the test suite after
6025eab3c509b4de922117e16866bbfe0ee99aa6.
</content>
</entry>
<entry>
<title>Fixed #36508 -- Interpreted __iexact=None on KeyTransforms as __exact=None.</title>
<updated>2025-12-22T19:20:07Z</updated>
<author>
<name>Clifford Gama</name>
<email>cliffygamy@gmail.com</email>
</author>
<published>2025-10-25T16:41:08Z</published>
<link rel='alternate' type='text/html' href='http://cgit.adnoto.dev/django.git/commit/?id=6ee8e9d56c17eb0014e73189950a9e8de2a8ec0e'/>
<id>urn:sha1:6ee8e9d56c17eb0014e73189950a9e8de2a8ec0e</id>
<content type='text'>
Thanks Jacob Walls for the report.
</content>
</entry>
<entry>
<title>Replaced per-object create() calls with bulk_create in tests/model_fields/test_jsonfield.py</title>
<updated>2025-12-22T19:20:07Z</updated>
<author>
<name>Clifford Gama</name>
<email>cliffygamy@gmail.com</email>
</author>
<published>2025-08-27T12:24:47Z</published>
<link rel='alternate' type='text/html' href='http://cgit.adnoto.dev/django.git/commit/?id=9cc5c87ffb989991524ee4eb91a435d2296ded2b'/>
<id>urn:sha1:9cc5c87ffb989991524ee4eb91a435d2296ded2b</id>
<content type='text'>
</content>
</entry>
<entry>
<title>Fixed #36765 -- Added support for stored GeneratedFields on Oracle 23ai/26ai (23.7+).</title>
<updated>2025-12-13T15:38:04Z</updated>
<author>
<name>Mariusz Felisiak</name>
<email>felisiak.mariusz@gmail.com</email>
</author>
<published>2025-12-13T15:38:04Z</published>
<link rel='alternate' type='text/html' href='http://cgit.adnoto.dev/django.git/commit/?id=0174a85770356fd12e4c8daa42a4f1c752ae00e6'/>
<id>urn:sha1:0174a85770356fd12e4c8daa42a4f1c752ae00e6</id>
<content type='text'>
Thanks Jacob Walls for the review.</content>
</entry>
</feed>
