为什么在odoo 9中从python代码启动ir.actions.act.window时会丢失一些字段



这是我的代码。字段default_SampleType的值显示 2 秒左右,然后丢失。问题是为什么没有保留价值?

声明字段如下

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 时,将显示此值并且不会丢失。我不知道样本类型字段有什么问题。

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方法,该方法在打开表单视图后立即修改其值。

最新更新