2017-08-15 62 views
0

我需要的是有一次我選擇patient_idpatient ==的nameLabpatientpatient_id出現如何在onchange上返回域名?

class labinvoice (models.Model): 
    _name = "lab.invoice" 
    name = fields.Char(string='Invoice Reference', default=lambda self: _('New'), store=True) 
    patient_id = fields.Many2one(string='Patient',comodel_name='medical.patient',required=True, store=True) 
    order_line = fields.One2many('lab.order.line', 'order_id', string='Order Lines', copy=True, ) 
    nameLab = fields.Many2one('medical.lab.patient',related='order_line.nameLab',string='name Lab', store=True) 
    patient = fields.Many2one('medical.patient',related='order_line.patient',string='name Patient', store=True, readonly=True) 
class LabOrderLine(models.Model): 
    _name = 'lab.order.line' 
    _description = 'labs Order Line' 
    name = fields.Text(string='Description', required=True) 
    order_id = fields.Many2one('lab.invoice', string='Invoice Reference', required=True, ondelete='cascade', index=True, copy=False) 


    nameLab = fields.Many2one(
     string='Lab', 
     comodel_name='medical.lab.patient', 
     required=True, 
     ondelete='cascade', 
    ) 

    patient= fields.Many2one(
     'medical.patient', 
     string='patient', 
     related='nameLab.patient_id', 
     readonly=True, 
     required=True, 
    ) 
     <page string="Order Lines"> 
          <field name="order_line" mode="tree,kanban" > 
           <tree editable="bottom" > 

            <field name="nameLab" /> 
            <field name="patient" /> 
            <field name="doctor_id"/> 
            <field name="Test_Prix"/> 
            <field name="test_type_id" /> 
            <field name="invoice_status"/> 
            <field name="state" /> 
           </tree> 

我試着用平變化,卻徒勞無功

@api.onchange('patient_id') 
    def onchange_patient_id(self): 
     if self.patient_id: 
      self.order_line = False 
      return {'domain':{'nameLab':[('nameLab.patient','=',self.patient_id.id)]}} 

回答

0

你只需要在XML中的字段定義上使用domain

<field name="nameLab" domain="[('patient', '=', patient)]"/> 
+0

我也是徒勞的試過 – Borealis

+0

這是okey,我找到了解決辦法。謝謝你的回答 – Borealis

+0

@ SOS-Mona你應該發佈你的解決方案作爲答案並接受它。 – travisw

相關問題