sqlalchemy литеральный текст добавлен к вставке
Я пытаюсь заставить 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)
Любые рекомендации будут оценены.