当我有不同的模型时如何过滤
How to filtred when I have different models
这是.py:
class Travsup(models.Model):
_name = 'facturation.travsup'
attachment_id = fields.Many2one('facturation.attachement')
ouvrage_id = fields.Many2one('facturation.ouvrage',domain="?????")
class Attachement(models.Model):
_name = 'facturation.attachement'
travSup_ids = fields.One2many('facturation.travsup','attachment_id')
contrat_id = fields.Many2one('facturation.contrat',string='Contrat',required=True)
class Contrat(models.Model):
_name = 'facturation.contrat'
ouvrage_ids = fields.One2many('facturation.ouvrage', 'contrat_id', string='Ouvrages')
class Ouvrage(models.Model):
_name = 'facturation.ouvrage'
contrat_id = fields.Many2one('facturation.contrat', string='Contrat')
如何过滤 ouvrage,当我更改 contrat_id 附件模型时,我得到了所有
同一个 contrat_id 模型的 ouvrage。
如果Attachement.contrat_id == Ouvrage.contrat_id 那么travSup_ids.ouvrage_id = Ouvrage.id
您可以在表单视图中像这样指定域:
<!-- this field must appear in the form so we can use it in domain -->
<field name="contrat_id"/>
<field name="travSup_ids">
<tree....>
<field name="ouvrage_id" domain="[('contrat_id', '=', parent.contrat_id)]/>
</tree>
<form>
....
....
<field name="ouvrage_id" domain="[('contrat_id', '=', parent.contrat_id)]/>
</form>
</field>
在嵌入表单或树中,您可以通过以下方式访问当前表单的字段
使用 parent.field_name
这是.py:
class Travsup(models.Model):
_name = 'facturation.travsup'
attachment_id = fields.Many2one('facturation.attachement')
ouvrage_id = fields.Many2one('facturation.ouvrage',domain="?????")
class Attachement(models.Model):
_name = 'facturation.attachement'
travSup_ids = fields.One2many('facturation.travsup','attachment_id')
contrat_id = fields.Many2one('facturation.contrat',string='Contrat',required=True)
class Contrat(models.Model):
_name = 'facturation.contrat'
ouvrage_ids = fields.One2many('facturation.ouvrage', 'contrat_id', string='Ouvrages')
class Ouvrage(models.Model):
_name = 'facturation.ouvrage'
contrat_id = fields.Many2one('facturation.contrat', string='Contrat')
如何过滤 ouvrage,当我更改 contrat_id 附件模型时,我得到了所有 同一个 contrat_id 模型的 ouvrage。
如果Attachement.contrat_id == Ouvrage.contrat_id 那么travSup_ids.ouvrage_id = Ouvrage.id
您可以在表单视图中像这样指定域:
<!-- this field must appear in the form so we can use it in domain -->
<field name="contrat_id"/>
<field name="travSup_ids">
<tree....>
<field name="ouvrage_id" domain="[('contrat_id', '=', parent.contrat_id)]/>
</tree>
<form>
....
....
<field name="ouvrage_id" domain="[('contrat_id', '=', parent.contrat_id)]/>
</form>
</field>
在嵌入表单或树中,您可以通过以下方式访问当前表单的字段
使用 parent.field_name