mirror of
				https://github.com/django/django.git
				synced 2025-10-31 01:25:32 +00:00 
			
		
		
		
	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 7cd187a5ba.
			
			
This commit is contained in:
		
				
					committed by
					
						 Mariusz Felisiak
						Mariusz Felisiak
					
				
			
			
				
	
			
			
			
						parent
						
							2190096f50
						
					
				
				
					commit
					e72b2826ff
				
			| @@ -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): | ||||
|   | ||||
		Reference in New Issue
	
	Block a user