$ the-wire · showcase
Chained model renames fix permission renames; Oracle UUID4 lowercased
By RepoJournal · Filed · About Django · Composed from the cited sources · methodology
Django's migration renamer gains an in-memory permission index so chained RenameModel operations stop losing permissions, and Oracle UUIDField() writes now match the lowercase values every other backend prepares.
Fixed #37361 -- Fixed permission renames for chained RenameModel operations. django/django
rename_permissions_after_model_rename() previously queried the database during each rename step before saving the planned changes, so in a chain like A -> B -> C the intermediate permissions (add_b) were not yet written and later steps failed to detect them. It now tracks codename updates in memory and applies them sequentially, which is what makes multi-step rename migrations rewrite permissio...
Fixed #37376 -- Made UUID4() persist data in lowercase on Oracle. django/django
On Oracle, UUID4() produced a RAW(16) value and Django's VARCHAR2(32) UUIDField() made Oracle implicitly run RAWTOHEX(), storing uppercase UUIDs while all other value preparation kept them lowercase, which broke lookups. get_db_prep_value() was deliberately not normalized to uppercase because that would break existing uses; if you deploy UUIDField() on Oracle, this is the fix to land before you...
Refs #37140 -- Limited NULL handling warning for __in lookups to subqueries. django/django
The __in NULL-handling documentation warning is now scoped strictly to QuerySet subqueries, and the inaccurate advice about lists of values is gone, following the ORM work in #21501. Literal lists containing None are already handled by the ORM's three-valued logic, so the docs no longer warn about a case that does not exist.
Fixed #37381 -- Corrected execute_wrapper() module reference in docs. django/django
The currentmodule directive pointed at django.db.backends.base.DatabaseWrapper, which is not a real module path; execute_wrapper() is now documented on the public django.db.connection object, consistent with the cache docs, and the method description is indented so it renders as the method body.
Results for ubuntu-latest added [skip ci] django/django-asv
by Github Bot
django-asv picked up ubuntu-latest results, extending the benchmark record to another runner image.