Mah*_*esh 5 sqlite sqlalchemy pyramid
我正在使用sqlite数据库,我在这个要点中声明了模型
https://gist.github.com/mmahesh/7245561
我已经用事务管理器添加了一个模型实例
with transaction.manager:
model = Users(username='example',name='Example', email_primary='m@m.com', _password='example')
DBSession.add(model)
Run Code Online (Sandbox Code Playgroud)
每当我执行initialize_sample_db development.ini时,都会显示此错误
sqlalchemy.exc.IntegrityError: (IntegrityError) constraint failed 'INSERT INTO users (name, username, email_primary, email_secondary, _password, bio) VALUES (?, ?, ?, ?, ?, ?)' ('Example', 'example', 'm@m.com', None, 'example', None )
Run Code Online (Sandbox Code Playgroud)
附加信息:当我使用sqlite3命令工具并且在'.d'命令之后我得到
PRAGMA foreign_keys=OFF;
BEGIN TRANSACTION;
COMMIT;
Run Code Online (Sandbox Code Playgroud)
提前致谢
在表中,users您已将列定义id为主键。但是,您在INSERT声明中没有提供id。
如果id是自动增量列,那将是完全可以的,但事实并非如此。
解决方案是在sqlite_autoincrement=True您的users表定义中添加。
另外,您的users表定义似乎太严格了-您要求大多数字段不可为空。这取决于您的任务,但是有时过于严格可能不是一个好主意-如果您忘记(或根本不想)填写这些字段之一,也会导致约束冲突。
| 归档时间: |
|
| 查看次数: |
9727 次 |
| 最近记录: |