为什么从 odoo 9 中的 python 代码启动 ir.actions.act.window 时某些字段会丢失?
Why some of the field are being lost when launching ir.actions.act.window from python code in odoo 9?
这是我的代码。字段 default_SampleType 的值显示 2 秒左右然后得到 lost.Question 是为什么该值没有被保留?
字段声明如下
fields.Many2one(string='SampleType',
comodel_name='olims.sample_type',
required=True
),
fields.Many2one(string='SampleType1',
comodel_name='olims.sample_type',
required=False
),
fields.Many2one(string='SampleType2',
comodel_name='olims.sample_type',
required=False
),
fields.Many2one(string='SampleType3',
comodel_name='olims.sample_type',
required=False
),
当我在上下文中将 sampleType 替换为 SampleType1 时,会显示该值并且不会丢失。我不知道 SampleType 字段有什么问题。
result = {
'name': 'Analysis Request',
'view_type': 'form',
'res_model': 'olims.analysis_request',
'view_id': sample_record,
'context': {'default_SampleType': sample_type.id , 'default_Client': client.id, 'default_Sample_id': sample_id,
'default_SamplingDate': sampling_date,
'default_ClientReference': client_reference, 'default_ClientSampleID': client_sample_ID,
'default_SamplePoint': sample_point.id,'default_StorageLocation': storage_location.id,
'default_SamplingDeviation': sampling_deviation.id, 'default_SampleCondition': sample_condition.id,
'default_LotID': lot_id},
'type': 'ir.actions.act_window',
'view_mode': 'form',
}
return result
我会直接寻找一个 onchange
方法,它一定会修改您的字段。在 Python 代码中查找 SampleType
字符串。我认为必须有一个正在执行的 onchange
方法,该方法在打开表单视图后立即修改其值。
这是我的代码。字段 default_SampleType 的值显示 2 秒左右然后得到 lost.Question 是为什么该值没有被保留?
字段声明如下
fields.Many2one(string='SampleType',
comodel_name='olims.sample_type',
required=True
),
fields.Many2one(string='SampleType1',
comodel_name='olims.sample_type',
required=False
),
fields.Many2one(string='SampleType2',
comodel_name='olims.sample_type',
required=False
),
fields.Many2one(string='SampleType3',
comodel_name='olims.sample_type',
required=False
),
当我在上下文中将 sampleType 替换为 SampleType1 时,会显示该值并且不会丢失。我不知道 SampleType 字段有什么问题。
result = {
'name': 'Analysis Request',
'view_type': 'form',
'res_model': 'olims.analysis_request',
'view_id': sample_record,
'context': {'default_SampleType': sample_type.id , 'default_Client': client.id, 'default_Sample_id': sample_id,
'default_SamplingDate': sampling_date,
'default_ClientReference': client_reference, 'default_ClientSampleID': client_sample_ID,
'default_SamplePoint': sample_point.id,'default_StorageLocation': storage_location.id,
'default_SamplingDeviation': sampling_deviation.id, 'default_SampleCondition': sample_condition.id,
'default_LotID': lot_id},
'type': 'ir.actions.act_window',
'view_mode': 'form',
}
return result
我会直接寻找一个 onchange
方法,它一定会修改您的字段。在 Python 代码中查找 SampleType
字符串。我认为必须有一个正在执行的 onchange
方法,该方法在打开表单视图后立即修改其值。