假設我有兩個字段。如num1和num2。我想在樹視圖中顯示這些值的總和。如何在odoo中應用這個?在odoo中添加(總和)兩個值
2
A
回答
2
您可以通過onchange
方法做到這一點,這裏是用odoo的新的API平變化方法的演示。
class DemoModel(models.Model):
_name = 'demo.model'
field_x = fields.Integer('Column X')
field_y = fields.Integer('Column Y')
field_sum = fields.Integer('Column Sum')
@api.onchange('field_x', 'field_y')
def onchange_field(self):
if self.field_x or self.field_y:
self.field_sum = self.field_x + self.field_y
你不需要在視圖部分(xml)中改變任何東西。
3
創建一個名爲result
的第三個字段,它使用帶默認值的onchange或功能字段將num1
和num2
相加。您可以將它隱藏在窗體視圖中並以樹形視圖顯示。
由於每次加載視圖時都會計算函數字段,所以如果您打算在樹視圖中使用它,請不要這樣做,因爲隨着記錄和計算變得越來越複雜,它將顯着減慢視圖加載速度。您也可以使用store=true
強制將值存儲在數據庫中。
如果它是用qweb寫的,則上述情況將有區別。
更新:
欲瞭解更多信息有關onchange...
代碼和使用的onchange: 在Python文件:
class sample_test(osv.osv):
_name = "sample.test"
_columns = {
'num1': fields.integer('Num1'),
'num2': fields.integer('Num2'),
'result': fields.integer('Result'),
}
def onchange_result(self, cr, uid, ids, num1, num2, context=None):
res = {}
if num1 and numb2:
res['result'] = numb1 + numb2
return {'value': res}
在XML文件:
<field name="num1" on_change="onchange_result(num1, num2)" />
<field name="num2" on_change="onchange_result(num1, num2)" />
<field name="result" />
對於功能字段參考:
語法:https://doc.odoo.com/v6.0/developer/2_5_Objects_Fields_Methods/field_type.html#functional-fields
說明:http://bazaar.launchpad.net/~openerp/openobject-server/7.0/view/head:/openerp/osv/fields.py#L843
0
你寫錯變量條件numb1 numb2
類鈣(osv.osv): _name = 「鈣」
_columns = {
'num1': fields.integer('Num1'),
'num2': fields.integer('Num2'),
'result': fields.integer('Result'),
}
def onchange_result(self, cr, uid, ids, num1, num2, context=None):
res = {}
if num1 and num2:
res['result'] = num1 + num2
return {'value': res}
計算()
相關問題
- 1. 如何基於另一個值在Python字典中添加(總和)兩個值?
- 2. 在Apache Spark中添加RDD值(總和)
- 3. 爲什麼在nVelocity中添加兩個值總是返回零?
- 4. 在odoo中添加js 9
- 5. Many2one字段中的兩個值odoo 9
- 6. jquery將兩個值相加在一起,返回兩個值的總和
- 7. 需要在perl中添加兩個值
- 8. 在Excel中添加兩個值,VBA
- 9. 在SQL Server中添加兩個值
- 10. 在兩個data.tables中添加值
- 11. 需要有HashMap在一個鍵內添加(總和)多個值
- 12. 添加/總結兩個數組
- 13. 在odoo中傳遞一個值在屏幕上的值odoo 9
- 14. 將兩個列表的值總和加到新的列表中
- 15. 增加兩個值的總和在查詢
- 16. 給combobox添加兩個值
- 17. 發票行總和 - Odoo v8
- 18. 總和時間odoo 9
- 19. Javascript - 在字段中添加行和總和值
- 20. 在datagrid視圖中添加總列值
- 21. 添加兩個數字時總會出現錯誤的值
- 22. SQL Server存儲過程添加兩個聲明的值總
- 23. 使用相同鍵和Spark總和行添加總和值
- 24. Odoo - 在「crm.stage」中添加新舞臺
- 25. Odoo - 在qweb報告中添加頁碼
- 26. 在R中加入兩個加權圖並保持總和爲
- 27. ggplot2:在每個x處添加組值的總和
- 28. 在javascript中總結兩個值
- 29. 從兩個選擇框中添加值
- 30. 如何在WPF中的datagrid行中添加總和值
兄弟,得到NameError:名稱'API'未定義 – nikolas