File tree Expand file tree Collapse file tree 1 file changed +9
-2
lines changed
Expand file tree Collapse file tree 1 file changed +9
-2
lines changed Original file line number Diff line number Diff line change 11from __future__ import absolute_import
22import uuid
3+ from sqlalchemy .dialects .postgresql import UUID
34from sqlalchemy import types , func
45
56#https://docs.sqlalchemy.org/en/13/core/custom_types.html#backend-agnostic-guid-type
@@ -8,16 +9,22 @@ class HashColumn(types.TypeDecorator):
89
910 def load_dialect_impl (self , dialect ):
1011 if dialect .name == 'postgresql' :
11- return dialect .type_descriptor (uuid . UUID ())
12+ return dialect .type_descriptor (UUID ())
1213 else :
1314 return dialect .type_descriptor (types .BINARY (16 ))
1415
1516
1617 def process_bind_param (self , value , dialect ):
1718 if value is None :
1819 return value
20+ elif dialect .name == 'postgresql' :
21+ return uuid .UUID (value )
1922 else :
20- return uuid .UUID (hex = value ).bytes
23+ if not isinstance (value , uuid .UUID ):
24+ return uuid .UUID (value ).bytes
25+ else :
26+ # bytes
27+ return value .bytes
2128
2229 def process_result_value (self , value , dialect ):
2330 if value is None :
You can’t perform that action at this time.
0 commit comments