mirror of
https://github.com/django/django.git
synced 2025-03-09 17:02:43 +00:00
[5.0.x] Fixed #35032 -- Corrected Char32UUIDField implementation in 5.0 release notes.
This fixes Char32UUIDField implementation in 5.0 release notes causing records with UUIDFields created using pre-Django 5.0 and CHAR(32) not being able to be saved anymore after upgrading and keeping the CHAR(32) columns. Regression in 7cd187a5ba58d7769039f487faeb9a5a2ff05540. Backport of e72b2826ff1eaf2f48ee54a40d2f2988a1fdbb0a from main
This commit is contained in:
parent
8b0710cfc9
commit
636d701ded
@ -508,6 +508,12 @@ Django < 5.0 should be replaced with a ``UUIDField`` subclass backed by
|
||||
def db_type(self, connection):
|
||||
return "char(32)"
|
||||
|
||||
def get_db_prep_value(self, value, connection, prepared=False):
|
||||
value = super().get_db_prep_value(value, connection, prepared)
|
||||
if value is not None:
|
||||
value = value.hex
|
||||
return value
|
||||
|
||||
For example::
|
||||
|
||||
class MyModel(models.Model):
|
||||
@ -516,8 +522,7 @@ For example::
|
||||
Should become::
|
||||
|
||||
class Char32UUIDField(models.UUIDField):
|
||||
def db_type(self, connection):
|
||||
return "char(32)"
|
||||
...
|
||||
|
||||
|
||||
class MyModel(models.Model):
|
||||
|
Loading…
x
Reference in New Issue
Block a user