我有一个查询应该创建一个许可证实例,它的一部分看起来像这样:
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/