$ the-wire · showcase
Spatial SRID validation, JSONField __in fixes land in Django
By RepoJournal · Filed · About Django · Composed from the cited sources · methodology
Django's spatial and JSON lookup paths both had silent-corruption bugs fixed in the last day: srid=None no longer compiles ST_Transform(..., NULL), and bare Value() primitives in JSONField __in no longer crash or return wrong rows.
Fixed #37322 -- Avoided transforms on spatial fields with srid=None. django/django
After spatial queries stopped interpolating the SRID param into the SQL template, srid=None on a spatial field became valid input to ST_Transform() on PostGIS and SpatiaLite, which returned NULL for the whole value instead of raising. The change validates the target SRID before compiling a transform in both the direct-value and expression paths, and preserves the documented srid=-1 behavior.
Fixed #37377 -- Fixed JSONField __in crash/wrong result for Value() primitives. django/django
Since 9b8e4c6d7d wrapped every Value() right-hand param of a JSONIn lookup in JSON_EXTRACT()/JSON_VALUE(), a bare Value("primitive") was treated as JSON text even though its inferred output_field is non-JSON, producing raw primitives where JSON was expected. JSONIn.resolve_expression_parameter() now JSON-encodes the Value's raw .value itself. If you use JSONField __in with plain Value() primiti...
Fixed #37386 -- Observed delete_confirmation_max_display=0 for inlines. django/django
delete_confirmation_max_display=0 was being treated the same as None, so inlines disagreed with ModelAdmin's delete actions about how many objects to list before collapsing to a count. Passing 0 now behaves consistently across both paths.
Results for ubuntu-latest added [skip ci] django/django-asv
by Github Bot
The benchmark suite picked up results for ubuntu-latest, extending django-asv's coverage to that runner.