Odoo 如何使用动态域?

Odoo 如何使用动态域?,odoo,odoo-10,Odoo,Odoo 10,我需要的是,一旦我选择了患者,当我搜索选择nameLab时,我想显示与所选患者相关的唯一实验室(patient_id should=patient) 我的班级: class labinvoice(models.Model): _name=“实验室发票” order\u line=fields.One2many('lab.order.line','order\u id',string='order line',copy=True) nameLab=fields.manyOne('medical.l

我需要的是,一旦我选择了患者,当我搜索选择nameLab时,我想显示与所选患者相关的唯一实验室(patient_id should=patient)

我的班级:

class labinvoice(models.Model):
_name=“实验室发票”
order\u line=fields.One2many('lab.order.line','order\u id',string='order line',copy=True)
nameLab=fields.manyOne('medical.lab.patient',related='order\u line.nameLab')
patient=字段.manyOne('medical.patient',related='order\u line.patient\u id')
patient\u id=fields.manyOne(comodel\u name='medical.patient',required=True,)
类实验室基线(models.Model):
_名称='lab.order.line'
nameLab=fields.manyOne(
string='Lab',
comodel_name='medical.lab.patient',
必需=真,
ondelete='cascade',
)
病人=fields.many21(
“医疗,病人”,
string='patient',
相关class='nameLab.patient_id',
readonly=True,
必需=真,
)
我的看法是:


实验室发票表格
实验室发票

您正在寻找
,它可以在您的字段中用Python或XML进行设置,但通常XML是最常用的使用方式

按照现在表单的设计方式,您可以进行此更新


有关更多详细信息,请参阅

您正在寻找
,它可以用Python或XML在您的字段中设置,但通常XML是最常用的使用方式

按照现在表单的设计方式,您可以进行此更新


有关更多详细信息,请参阅

我们可以在更改父对象后再进行此操作

我们处理这个问题是因为函数可以返回onchange本身的域

比如-->

@api.onchange(“患者”)

def onchange_患者(自身):

认为它有帮助


毗瑟奴

我们可以在父母改变后处理这个问题

我们处理这个问题是因为函数可以返回onchange本身的域

比如-->

@api.onchange(“患者”)

def onchange_患者(自身):

认为它有帮助


毗湿奴

它不返回名称你能用完整视图和错误更新你的问题吗?它不返回名称你能用完整视图和错误更新你的问题吗?谢谢你的回答。但是它给了我这个错误:返回{'domain':{'namelab':[('id','in',self.patient\u id.namelab.ids)]}}AttributeError:'medical.patient'对象没有属性'namelab',您不需要在更改时使用
。在这种情况下,它可以通过域来完成,这将是一个更干净的解决方案。我试图通过域来使用onchange,但没有成功。没有结果。。。我认为问题是由于订单线(one2many)造成的,谢谢你的回答。但是它给了我这个错误:返回{'domain':{'namelab':[('id','in',self.patient\u id.namelab.ids)]}}AttributeError:'medical.patient'对象没有属性'namelab',您不需要在更改时使用
。在这种情况下,它可以通过域来完成,这将是一个更干净的解决方案。我试图通过域来使用onchange,但没有成功。没有结果。。。认为问题在于订单行(one2many)
if self.patient:
    return {'domain':{'namelab':[('id','in',self.patient.namelab.ids)]}}