python - SQLAlchemy - 无法使用 NULL 作为主键值来更新表

标签 python sqlalchemy

我有一个查询应该创建一个许可证实例,它的一部分看起来像这样:

license_obj = license_db.License()
license_db.Session.add(license_obj)
license_obj.start_date = license['start_date']
license_obj.expiry_date = license['expiry_date']

我还添加了一个 license_status 关系和指向 LicenseStatus 模型的 license_status_id

当我尝试为 license_status_id 绑定(bind)默认值时,如下所示:

license_db.license_status_id = int(license_db.LicenseStatus.active().id)

然后我得到一个错误:

"Can't update table "
FlushError: Can't update table using NULL for primary key value

但是当我尝试手动分配整数时,如下所示,它起作用了:

license_db.license_status_id = 1

是什么导致了这个问题?

如果我打印 license_db.LicenseStatus.active().id 然后我得到 int 等于 1 这是我想要实现的。

最佳答案

尝试在设置许可证结束日期之后添加 license_db.session 而不是第二行。

关于python - SQLAlchemy - 无法使用 NULL 作为主键值来更新表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29647092/

相关文章:

python - 带连接的 Django 查询

python - Unicode 与 Alembic 不一致

Python:新对象使用先前对象的属性

javascript - 如何获得纯色背景色和半透明叠加色的有效结果(6位十六进制值)?

python - 奇怪的 SQLAlchemy 错误消息 : TypeError: 'dict' object does not support indexing

python - SQLAlchemy 无法连接到 mssql 数据库

python - 性能 SQLAlchemy 和或

python - 为什么 CPython Dicts 不受负一和负二哈希值的影响

python - 行为 - 使用空白示例字段进行测试

python - 如何使用 urllib2 访问错误响应 header ?