我有四個字段的表單:如何根據其他字段值更改OpenERP選擇字段中的選項?
- 作物 - 選擇
- 活動從 - 最新
- 積極地 - 最新
- 塊區 - 選擇
我怎樣才能使塊區域中的可用選項取決於用戶爲其他字段選擇的值?
我有四個字段的表單:如何根據其他字段值更改OpenERP選擇字段中的選項?
我怎樣才能使塊區域中的可用選項取決於用戶爲其他字段選擇的值?
我不知道您是否可以使用選擇字段來完成此操作,但是當另一個字段更改值時,您可以更改多對一字段的域。您也可以只使用BlockArea字段域中的其他字段,而不必根本改變它。查看partner address screen爲state_id字段設置域的方式。你可能會發現this related question有幫助。
如果您確實需要在另一個字段更改時更改域,則the on_change
event可以在其返回的字典中包含domain
條目。
我發現a discussion thread,說你可以使用這個小工具上多到一個領域,因此這可能爲你工作,如果你在現場設置了domain
。我沒有自己嘗試過。
要限制基於其他字段值的可用選項,您可以使用domain
。
引用的相關線:
class project_issue(crm.crm_case, osv.osv):
_columns = {
'project_id':fields.many2one('project.project', 'Project'),
'type_id': fields.many2one ('project.task.type', 'Stages', domain="[('project_ids', '=', project_id)]"),
}
在這個例子中type_id
可用的選項是取出從project.task.type
表,這取決於project_id
字段的值作爲一個例子,這是標準的模塊project_issue
上使用。
嘗試on_change功能..創建on_change功能,在函數的最後返回域條件的字段block_area 例如
def onchange_for_block_area(self,cr,uid,ids,crop,from_date,to_date,context):
domain=[]
#
#some statements for finding the domain
#
return {'domain':{'block_area': domain}}
提供上的字段作物,FROM_DATE和TO_DATE的平變化函數
你的問題很難遵循:它聽起來像它可以從一些代碼示例中獲益,解釋你的問題的當前狀態。 – jro
我試圖澄清你的問題,@Santu。我理解正確嗎? –
我注意到你沒有接受你的其他問題的答案,@Santu。如果有任何答案有幫助,請點擊每個答案旁邊的大複選標記將其標記爲已接受。這有助於其他有相同問題的人,這是一種感謝幫助你的人的方式。 –