]> 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)
committerMartijn Pieters <mjpieters@fb.com>
Wed, 22 Nov 2017 10:05:44 +0000 (10:05 +0000)
Some database adapters (specifically, pg8000) already produce a uuid.UUID()
instance for UUID columns. Account for this.

doc/build/core/custom_types.rst

index 5384d0fd4216b95c530188a0102995c31003fd6c..6864e1915d8edcbd793409662cd81520e72ffa4d 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
 ^^^^^^^^^^^^^^^^^^^^