Python 在SQLAlchemy/Panacea中处理生成的/虚拟MySQL列?(即只读列)

Python 在SQLAlchemy/Panacea中处理生成的/虚拟MySQL列?(即只读列),python,mysql,sqlalchemy,Python,Mysql,Sqlalchemy,如何处理SQLAlchemy/Panacea中生成的/虚拟MySQL列(即只读列) 我在创建新元素时遇到一个错误:sqlalchemy尝试插入一个列,该列是在服务器端用MySQL 5.7的生成列生成的 class PyTest(Entity): x = Field(Integer, default=0) y = Field(Integer, default=1) z = Field(Integer) using_options(tablename="PyTest

如何处理SQLAlchemy/Panacea中生成的/虚拟MySQL列(即只读列)

我在创建新元素时遇到一个错误:sqlalchemy尝试插入一个列,该列是在服务器端用MySQL 5.7的生成列生成的

class PyTest(Entity):
    x = Field(Integer, default=0)
    y = Field(Integer, default=1)
    z = Field(Integer)

    using_options(tablename="PyTest")
其中Z是根据该语句创建的y+Z服务器端

ALTER TABLE `test`.`PyTest` ADD COLUMN `z` INT AS (x + y);
现在,在下面的示例中,它在尝试刷新/提交新元素到数据库时崩溃。例:

t2 = PyTest(x=10, y=1)

myscopedsession.merge(t2)
myscopedsession.flush()
错误如下:

sqlalchemy.exc.InterfaceError: (_mysql_exceptions.InterfaceError) (-1, 'error totally whack') [SQL: u'INSERT INTO `PyTest` (x, y, z) VALUES (%s, %s, %s)'] [parameters: (10, 1, None)]
这可能需要使用。