6
我有一個數據庫,我沒有元數據或orm類(數據庫已經存在)。插入並更新核心SQLAlchemy
我設法選擇的東西被工作:
from sqlalchemy.sql.expression import ColumnClause
from sqlalchemy.sql import table, column, select, update, insert
from sqlalchemy.ext.declarative import *
from sqlalchemy.orm import sessionmaker
from sqlalchemy import create_engine
import pyodbc
db = create_engine('mssql+pyodbc://pytest')
Session = sessionmaker(bind=db)
session = Session()
list = []
list.append (column("field1"))
list.append (column("field2"))
list.append (column("field3"))
s = select(list)
s.append_from('table')
s.append_whereclause("field1 = 'abc'")
s = s.limit(10)
result = session.execute(s)
out = result.fetchall()
print(out)
到目前爲止好。
我可以得到一個更新/插入工作的唯一方法是通過執行像原始查詢:
session.execute(<Some sql>)
我想打它,所以我可以做一個類的是像:
u = Update("table")
u.Set("file1","some value")
u.Where(<some conditon>)
seasion.execute(u)
嘗試(這僅僅是我試過的方法之一):
i = insert("table")
v = i.values([{"name":"name1"}, {"name":"name2"}])
u = update("table")
u = u.values({"name": "test1"})
我不能讓那個執行上:
session.execute(i)
或
session.execute(u)
任何建議如何構建,而無需編寫ORM模型插入或更新?
搜索2天后發現大多數還反正坦克爲clearint它爲我 – Jester
爲什麼會話而不是事務?從文檔中,會話應該與ORM一起使用,對嗎? – Aidis