我正在尝试使用 sqlalchemy orm (MySQL) 复制此列:
`line_price_taxed` 小数(20,4) 始终生成为 ((`quantity` * `unit_price_taxed`)) 存储,
到目前为止我的尝试是:
line_price_taxed = Column(DECIMAL(20, 4), server_default=text('''GENERATED ALWAYS AS ((`quantity` * `unit_price_taxed`)) STORED'''), index=True)
但我收到此错误:
1064, "您的 SQL 语法有错误;请检查与您的 MySQL 服务器版本相对应的手册,了解在 'DEFAULT GENERATED ALWAYS AS ((`quantity` * `unit_price_taxed`)) STORED 附近使用的正确语法
有没有办法将原始 SQL 传递到 sqlalchemy ORM 模型中?
最佳答案
根据 SQLAlchemy 文档,如果您使用的版本高于 1.3.11
您可以使用计算
例如,
from sqlalchemy import Column, Integer, Computed
line_price_taxed = Column(DECIMAL(20, 4), Computed("quantity * unit_price_taxed"), index=True)
关于python - SQLAlchemy:带有 GENERATED ALWAYS AS 的 MySQL 列 DDL,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57596603/