2011-10-13 106 views
4

圍繞在這一個房屋周圍,似乎無法得到正確的語法。在SQLAlchemy中插入一行

我想要做的就是在SQLAlchemy的表中插入一行。該文件沒有道理對我心想:

class sqlalchemy.sql.expression.Insert(table, values=None, inline=False, bind=None, prefixes=None, returning=None, **kwargs) 

我來最接近的是

userChoices = meta.Session.query(model.CompUserChoices).filter(model.CompUserChoices.inmptl_user_name == postdict['userid']).filter(model.CompUserChoices.inmptl_option_id == postdict['leg']).all() 

userChoices.insert({model.CompUserChoices.inmptl_user_name:postdict['userid']},\ 
             {model.CompUserChoices.inmptl_option_id:postdict['leg']},\ 
             {model.CompUserChoices.inmptl_comp_choice_id:newChoices[i]}) 

可能有人請告訴我正確的語法!

回答

7

我不確定我是否明白你正在嘗試做什麼,但添加一行通常不會比創建模型對象並將其添加到會話更困難。

userChoices = model.CompUserChoices() 
# Do stuff on userChoices 
meta.Session.add(userChoices) 
meta.Session.commit() # if you have to commit manually 
+0

從哪裏得到meta? –

+0

它是一個MetaData對象,但您通常不必直接處理它。更有可能的是,你直接處理Session對象。 – madjar

+0

好的,謝謝 - 我剛剛第一次使用Session對象獲得了SQLAlchemy與數據庫的交談,所以很高興知道我處於正確的軌道上。 :-) *開心* –