2013-04-10 53 views
0
File "/home/bellvantage/Documents/openerp-7.0/openerp-7.0/openerp/sql_db.py", line 226, in execute 
res = self._obj.execute(query, params) 
ProgrammingError: operator does not exist: integer = boolean 
LINE 1: ...=1,write_date=(now() at time zone 'UTC') where id IN (false) 
                  ^
HINT: No operator matches the given name and argument type(s). You might need to add explicit type casts. 

我試圖覆蓋寫入函數。因爲我需要更新另一個模型的(bpl.company.define)列。所以我使用了write()方法。但是它給出了上面的錯誤&需要對它進行排序。 請指教我並解釋哪些參數需要通過write()方法(除cr,uid之外)。ProgrammingError:運算符不存在:integer =布爾值

我上傳我的模型類here。 &查看級別here。在bpl.py

行號100

確定其分類friend.issue與database.the數據,該數據將要讀我輸入的數據是null.so這就是返回false和錯誤出現這樣的:-)

+1

'id IN(false)'看起來不正確。 'id'可能是整數,'false'是布爾值。 – grep 2013-04-11 04:34:59

+1

plz提供信息,當你有這個錯誤? – user1576199 2013-04-11 05:08:35

+1

是的用戶@ AnomA說,division_id獲取false而不是id,所以當用假記錄瀏覽時會產生錯誤。你必須首先檢查division_id是否退出然後去瀏覽。 – user1576199 2013-04-11 05:14:10

回答

1

我認爲在文件bpl.py中的create函數中,您得到的division_id是false,並且您嘗試瀏覽一個非類型對象的記錄,然後嘗試寫入它。請檢查您是否爲division_id的正確ID。

+1

確定它的排序friend.issue與我在數據庫中輸入的數據。要讀取的數據是null.so這就是返回錯誤和錯誤來像那樣 :-) – 2013-04-11 05:47:57

1

「now()at time zone ..........」看起來像SQL,它應該是一個用雙引號括起來的Python字符串,而不是空白的單詞。

+0

感謝它的排序。 問題與我引用空值(因爲被調用的列表還沒有記錄) – 2013-04-11 05:52:52