【发布时间】:2021-08-01 01:20:18
【问题描述】:
我想在我的 SQLAlchemy 模型类上定义一个计算列。但是,对于某些运算符(例如加法)而不是其他运算符(例如指数),似乎 Column 类已重载。下面是我的意思的一个非常粗略的例子。
from sqlalchemy import Column, Integer
from sqlalchemy.ext.declarative import declarative_base
from sqlalchemy.orm import column_property
Base = declarative_base()
class MyModel(Base):
__tablename__ = "my_model"
id = Column(Integer, primary_key=True)
addition = column_property(id + 2) # Totally fine
exponent = column_property(id ** 2) # TypeError
TypeError:** 或 pow() 不支持的操作数类型:'Column' 和 'int'
我对 SQLAlchemy 比较陌生,所以我可能会被误导。这似乎是一个非常简单的用例,但到目前为止我还没有找到太多关于如何完成它的信息。
【问题讨论】:
标签: python python-3.x sqlite sqlalchemy