如何解决有没有一种方法可以将Python集用作SQLAlchemy列的数据类型?
如何使用SQLAlchemy将MySQL数据库中的列的值限制为预先指定的集合的一个或多个元素? (理想情况下,我想要一种使用MySQL的SET
datatype的方法。)
示例
上下文
我有一个实验,涉及在几天内对许多人进行测量。实验开始后,许多人进入了实验(因此前几天的数据丢失了),偶尔有人退出了实验(后几天的数据丢失了)。在实验过程中,某些人也可能缺少测量结果。
我想制作一个表,其中存储有关每个人的一些信息,并列出进行测量的日期。
代码
我希望像下面这样的方法可以工作,因为这大致就是SQLAlchemy supports Enum
s的方式。
import sqlalchemy as sql
experiment_days = {'day_1','day_2','day_3'}
sql.Column('days_measured',experiment_days)
不幸的是,我收到此错误消息:
AttributeError: 'set' object has no attribute '_set_parent_with_dispatch'
我期望获得一个Column
,其SET数据类型可以采用值day_1
,day_1,day2
,day_1,day_3
等。
解决方法
MySQL dialect支持MySQL SET
数据类型:
from sqlalchemy.dialects import mysql
class MyTable(Base):
...
myset = Column(mysql.SET('day_1','day_2','day_3'),...)
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。