簡體   English   中英

SQLAlchemy - 無法使用NULL更新表以獲取主鍵值

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM