如何获取 odoo 9 中的当前 id 部分?

How to get the current id section in odoo 9?

当我点击一个列表的寄存器时,在url中出现这样的东西:

http://myInstance:8069/web?&debug=#id=9&view_type=form&model=ext.test&action=544

我需要在 python 中捕获 9(id 的值),以便将其作为其他字段的默认值传递。

我不知道如何捕获这个值。

我想要类似这样的东西:

@api.model
def default_get(self, vals):
    result = super(my_relation, self).default_get(vals)

    result['my_id'] = HERE_GOES_THE_VALUE_OF_THE_ID

    return result

我该怎么做?

我找到了解决方案!

我意识到 "current id section" 是 "active_id" 变量。 但是,如果我尝试在 python 代码中访问此变量,则值为 'None'.

为了解决这个问题,我通过'context'发送了变量。在 xml 文件中:

<field name="my_field_name" context="{'my_id': active_id}"/>

然后,在 python 文件中,我可以访问执行此操作的上下文:

result['my_id'] = self._context['my_id']