2012-08-13 49 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