2017-02-21 50 views
1

當我運行odoo服務器時,我在下面看到了這條警告消息。Odoo警告「也許一個模塊被部分刪除或重命名」

警告dietfacts2 openerp.modules.loading:Model product.nutrientitem已聲明,但無法加載! (也許一個模塊被部分刪除或重命名)

我知道它顯示此警告消息,因爲我創建了模型名稱,但後來我改變了它。該模型被保存到postgres DB。我試圖刪除數據庫中的表,但不成功。

dietfacts2 =#從ir_model刪除where model ='product.nutrientitem'; 錯誤:「模型」列中的空值違反了非空約束 詳細信息:失敗的行包含(1011,2017-02-20 04:15:05.207869,2017-02-20 04:15:05.207869,285,null, f,false,product_nutrientitem_write_uid_fkey,null,null,null,null)。 背景:「‘SQL語句’UPDATE ONLY」公共ir_model_constraint「SET‘模式’= NULL WHERE $ 1操作(pg_catalog =)‘模型’,」

回答

1

可能是你有其他表需要的數據首先被清除。嘗試ir_model_data

DELETE FROM ir_model_data WHERE model = 'your.model'; 

然後你應該可以刪除你的表。如果你有與你的表有關的限制,你可能需要識別這些限制並將其刪除。

+0

很高興一切都爲你工作。如果我的帖子有幫助,請標記爲正確。祝你有美好的一天。 –

+0

完美!作爲魅力工作。我剛剛刪除了ir_model_data表中的所有條目,然後從ir_model中刪除模型。謝謝... – skyguyver

+0

謝謝,很高興我能幫到你。 –

0

你的數據庫中有陳舊的模型數據。通常是由於已刪除/重命名的模型或未正確卸載的模塊。

一個有用的模塊來處理這些情況:

https://github.com/OCA/server-tools/tree/9.0/database_cleanup

https://www.odoo.com/apps/modules/9.0/database_cleanup/

它可以讓你清除過時的數據模型,動作等,無論「孤兒」記錄仍然在您的數據庫。您將在技術部分下找到用於數據庫清理的控制面板。

+0

哇,太好了。我嘗試手動安裝這個模塊,它可以看到徹底的深層過時的數據條目,列,表等。謝謝! – skyguyver