2012-08-13 31 views
0
python 2.7 
pyramid 1.3a4 
sqlalchemy 7.3 
sqlite3.7.9 

從sqlite的提示插入sqlite3的一個空日期從金字塔框架>我可以這樣做:使用SQLAlchemy的

insert into risk(travel_dt) values ('') 
also 
insert into risk(travel_dt) values(Null) 

兩個結果在一個新行與risk.travel_dt空值,但是當我嘗試那些travel_dt來自金字塔的價值觀,Sqlalchemy給了我一個錯誤。

在第一種情況,我得到sqlalchemy.exc.StatementError

SQLite的日期類型只接受蟒日期對象作爲輸入

在第二種情況下,我得到Null is not defined。當我使用「空」,我得到第一個錯誤

我對另一個空值問題表示抱歉:我讀了很多材料,但一定錯過了一些簡單的東西。感謝您的幫助 克萊門斯·赫歇爾

回答

1

雖然你沒有提供任何洞察到您正在使用的表定義或任何示例代碼,我猜這個問題是由於混亂NULL(數據庫保留字)和None (Python保留字)。

錯誤消息告訴您需要使用有效的Python date對象調用SQLA方法,而不是「Null」或「'等字符串。

假設你有一個表名爲包含一個名爲travel_dtrisk,你應該能夠創建在該表中的一行的東西有點像:

risk.insert().values(travel_dt=None) 

請注意,這只是一個片段,你需要在類似SA Docs SQL Expression Language Tutorial中定義的engine上下文中執行此類呼叫。

+1

工作。對不起,我沒有提供示例代碼或表定義;我試圖簡潔。很好的推論。謝謝你的幫助;這是我的困惑。 – user1596486 2012-08-14 01:37:57