From e72b2826ff1eaf2f48ee54a40d2f2988a1fdbb0a Mon Sep 17 00:00:00 2001
From: Emanuel Andrecut <emanuel.andrecut@fleio.com>
Date: Wed, 13 Dec 2023 17:04:06 +0200
Subject: [PATCH] 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.
---
 docs/releases/5.0.txt | 9 +++++++--
 1 file changed, 7 insertions(+), 2 deletions(-)

diff --git a/docs/releases/5.0.txt b/docs/releases/5.0.txt
index 4c86337b74..746eaae836 100644
--- a/docs/releases/5.0.txt
+++ b/docs/releases/5.0.txt
@@ -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):