1

我试图让 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)

任何建议将不胜感激。

4

0 回答 0