使用Pylons和SQLalchemy在sqlite中存储UUID
发布时间:2020-12-12 18:51:36 所属栏目:百科 来源:网络整理
导读:我正在使用SQLalchemy和sqlite开发我的第一个Pylons项目. 我想使用UUID作为我的一个表的主键.我在下面找到了问题,并使用代码向SQLalchemy添加自定义UUID()类型. (第二个解决方案,我无法弄清楚如何使用zzzeek的建议.) Random ids in sqlalchemy (pylons) 但是
我正在使用SQLalchemy和sqlite开发我的第一个Pylons项目.
我想使用UUID作为我的一个表的主键.我在下面找到了问题,并使用代码向SQLalchemy添加自定义UUID()类型. (第二个解决方案,我无法弄清楚如何使用zzzeek的建议.) Random ids in sqlalchemy (pylons) 但是,当我尝试它时,我得到ValueError(‘bytes不是16-char字符串’) 谢谢, 解决方法你是对的,这只是为postgresql工作(db我用).但我在你提供 Random ids in sqlalchemy (pylons)的帖子中潜水,它确实在sqlite中工作,只是不遵循zzzeek的答案 转到Tom Willis解决方案,只需要考虑一些事情我遵循完成此代码但改变一些事情: 逐行: #I delete follow line: from sqlalchemy.databases.mysql import MSBinary 因为在sqlalchemy 0.6中它是dialects.sqllite但我没有使用它 from sqlalchemy.types import Binary 只需更改UUID类中的以下行: class UUID(types.TypeDecorator): impl = Binary # this one! ... ... id_column_name = "id" def id_column(): import uuid return Column(id_column_name,UUID(),primary_key=True,default=uuid.uuid4) #usage: app_uuid = Column(u'app_uuid',primary_key=True) 这对我有用,祝你好运! 以前的答案 user = Table( 'User',meta.metadata,Column('ID',UUID(as_uuid=True),primary_key=True),Column('Name',String(250),nullable=False,unique=True) ) (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |