[英]SQLAlchemy - Can't update table using NULL for primary key value
我有一個查詢應該創建一個許可證實例,其中一部分看起來像:
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關系和license_status_id,它指向LicenseStatus模型
當我嘗試綁定license_status_id的默認值時,如下所示:
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
。
實際上這個錯誤是非常誤導的。 我得到了這個,事實證明問題是標記為另一個表的外鍵的列之一是null。 不是標記為主鍵的那個,它只是一個外鍵。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.