सबक्वेरी रेसिपी इसे करने का सही तरीका है, अब हमें केवल इस क्वेरी को SqlAlchemy के साथ बनाने की आवश्यकता है।
आइए सबक्वेरी से शुरू करें:
sq = ssn.query(Log.id) \
.order_by(Log.id.desc()) \
.limit(1) \
.with_for_update()
और अब इसका उपयोग as_scalar( ) के उदाहरण के साथ अद्यतन () दस्तावेज़ :
from sqlalchemy import update
q = update(Log) \
.values({'analyzed': True}) \
.where(Log.id == sq.as_scalar())
परिणाम देखने के लिए क्वेरी प्रिंट करें:
UPDATE logs
SET analyzed=:analyzed
WHERE logs.id = (
SELECT logs.id
FROM logs ORDER BY logs.id DESC
LIMIT :param_1
FOR UPDATE
)
आनंद लें!