我有一個自定義ID來的SQLAlchemy模型UUID格式的SQLAlchemy通過自定義列
class Email(Base):
__tablename__ = 'Email'
id = Column(UUID(), primary_key=True, default=uuid.uuid4)
raw_email = Column(Text)
,當我試圖通過ID得到一些對象
session.query(Email).get("0c7a2a97-c93b-4f26-9408-25d2bf597bc0")
它返回一個錯誤選擇
can't escape UUID to binary
我知道自定義ID中的問題,因爲ID是UUID類型,但是可以創建一些預處理器或其他s同樣的事情,使我有機會使用str
選擇對象。由於轉換海峽到UUID每當我需要選擇一些對象將是很討厭
我創建自己的功能,這將
def str_to_uuid(value):
uuid = UUID()
return uuid.process_bind_param(value)
時間,這將是如此有益的,如果我可以裝點ID使用此功能。或者這樣做的風格不好?
是那個[PostgreSQL的具體UUID類型(http://docs.sqlalchemy.org/en/latest/dialects/postgresql.html#sqlalchemy.dialects.postgresql.UUID)或其他什麼東西? –
@IljaEverilä是的,我在PostgreSQL中使用的這種類型的列 –
您的答案會給人一種印象,那就是您使用的是自定義類型,而不是'sqlalchemy.dialects.postgresql.UUID'。 –