나는 many2one 필드가 name_id입니다. 일반적으로 my_model.xml 코드를이 필드에 사용하면 my.model.line에 쓰여진 모든 값 중에서 선택할 수 있습니다. 이 경우 값을 필터링하고 현재 my.model에 기록 된 값만 목록으로 표시하려고합니다.Odoo one2many 필드에서 many2one 필드 값을 필터링하는 방법
my_model.xml
<record model="ir.ui.view" id="view_my_model_form">
<field name="name">my.model.form</field>
<field name="model">my.model</field>
<field name="arch" type="xml">
<form string="My Model">
<header>
<field name="my_model_line">
<tree>
<field name="name"/>
</tree>
</field>
<notebook>
<page>
<field name="supply_conditions_status">
<tree string="My model Lines">
<field name="name_id"/>
</tree>
클래스 : 명확한 이해를 위해
class SupplyConditions(models.Model):
_name = 'supply.conditions'
name_id = fields.Many2one('my.model.line', string='Product')
model_id = fields.Many2one('my.model')
class MyModelLine(models.Model):
_name = 'my.model.line'
name = fields.Char('Name')
my_model_id = fields.Many2one('my.model')
class MyModel(models.Model):
_name = 'my.model'
title = fields.Char('Title')
my_model_line = fields.One2many('my.model.line', 'my_model_id')
supply_conditions_status = fields.One2many('supply.conditions', 'model_id')
- 예 :
나는 my.model (필드 이름 = '첫 번째')의 형태로보기을 가지고 my.model (필드 이름 = '초'). my.model에서
(NAME = '제') 이름 필드 데이터를 추가 my_model_line에서 '항목 1 ","항목 2 "
my.model IN (NAME ="초 ") my_model_line 이름 필드 추가 데이터 '1item', '2item'지금
: my.model에서
(NAME = '제') I가 선택 참조 supply_conditions_status의 name_id.error가 필드 '1item를', '2item, 항목 1을 ','item2 '
,210필요 :
my.model에서 (이름 = '첫 번째') supply_conditions_status의 name_id.error가 단지 '항목 1'을 선택할 수 가능성 '항목 2'
내가 어떻게 이것을 달성 할 수 있습니까?
my.model.line 모델에서 name_get 메서드를 사용할 생각입니다. 문제는 현재보기 my.model 클래스 ID를 가져올 수 없다는 것입니다. – fueggit