我正在尝试在Flask-SQLAlchemy中创建一个只读列,该列将读取另一列并替换其中的一些值。例如
from app.database import db # Flask-SQLAlchemy object.
from sqlalchemy import func
from sqlalchemy.ext.hybrid import hybrid_property
class A(db.Model)
email = db.Column(db.String)
@hybrid_property
def name(self):
return func.replace(self.email, '@example.com', '')
因为我在本地使用SQLite,但是在其他部署中使用Postgres,所以该解决方案将不起作用,因为在PostreSQL中该功能是regexp_replace
而不是replace
。
总是可以选择在列表中进行迭代并在Python中进行替换,但是我想知道其他人是否可以想到一种更好的方法。