我试图让 sqlalchemy 在插入时接受一些更复杂的行为,但无法找出惯用的方法。为了简化事情,我只是想在查询末尾添加一个文字字符串,但找不到有效的方法。我已经看到“text()”函数用于将字符串文字添加到查询中,但它不会像我使用它的方式那样工作。这是我正在尝试做的一个例子(这不会编译,但至少抓住了这个想法......)
from sqlalchemy import *
metadata = MetaData()
user = Table('user', metadata,
Column('user_id', Integer, primary_key = True),
Column('likes', Integer, nullable = False),
Column('last_liked', TIMESTAMP, nullable = False),
)
userid = 1
newlikes = 5
user.insert().values(user_id=userid, likes=newlikes) +
text("ON DUPLICATE KEY UPDATE last_liked=NOW(), likes = likes + " + newlikes)
任何建议将不胜感激。