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