比较sqlalchemy中的两个uuid

2024-09-30 22:26:12 发布

您现在位置:Python中文网/ 问答频道 /正文

我使用的是sqlalchemy 1.2

简而言之,产生错误的原因是:

uuidvar = uuid4()
mytable.select().where(mytable.c.uuidColumn == uuidvar) #where mytable is of type sqlalchemy.Table 

错误:

^{pr2}$

像这样的桌子:

CREATE TABLE myTable (
  uuidColumn uuid primary key default uuid_generate_v4()
  col1 text,
  col2 text,
  col3 text
)

在python中生成表:

metadata = MetaData(engine=db) # db is created by "create_engine", nothing fancy
myTable = Table('myTable', metadata, autoload=True)

Tags: textdbuuidsqlalchemyis错误mytabletable
1条回答
网友
1楼 · 发布于 2024-09-30 22:26:12

我也有类似的问题。要解决此错误,需要将uuidColumn定义为_uuid=True。是这样的:

from sqlalchemy.dialects import postgresql
uuidColumn = db.Column(postgresql.UUID(as_uuid=True))

有关更多详细信息,请参阅michaelbayer的评论:https://bitbucket.org/zzzeek/sqlalchemy/issues/3323/in-099-uuid-columns-are-broken-with

相关问题 更多 >