]> git.ipfire.org Git - thirdparty/sqlalchemy/sqlalchemy.git/commitdiff
Allow for the database to produce a UUID instance
authorMartijn Pieters <mjpieters@fb.com>
Wed, 22 Nov 2017 10:05:44 +0000 (10:05 +0000)
committerMike Bayer <mike_mp@zzzcomputing.com>
Fri, 15 Dec 2017 14:53:00 +0000 (09:53 -0500)
Some database adapters (specifically, pg8000) already produce a uuid.UUID()
instance for UUID columns. Account for this.

(cherry picked from commit e80a5adfd406e2392cfaad687e8b3f0ae9ed4e11)

doc/build/core/custom_types.rst

index 64f91b23fcc036bee762bcbb4f5b687c401ee282..e85601f1728b07b56da7b1a53450684d5dca6032 100644 (file)
@@ -163,7 +163,9 @@ binary in CHAR(16) if desired::
             if value is None:
                 return value
             else:
-                return uuid.UUID(value)
+                if not isinstance(value, uuid.UUID):
+                    value = uuid.UUID(value)
+                return value
 
 Marshal JSON Strings
 ^^^^^^^^^^^^^^^^^^^^