Я столкнулся с странным поведением одного2many поля в Odoo.Odoo: One2many поле не работает
Это мой код:
models.py:
class mrp_bom_inherit(models.Model):
_inherit = 'mrp.bom'
producten_tussenmodel = fields.One2many(comodel_name='tussenmodel_wc_producten', inverse_name='bom_id', string="producten", copy=True)
class tussenmodel_wc_producten(models.Model):
bom_id = fields.Integer()
routing_id = fields.Integer()
producten = fields.Char(string="Productnr.")
views.xml:
<field name="producten_tussenmodel" widget="one2many_list" nolabel="1">
<tree string="Een Naar Veel" editable="bottom">
<field name="producten" domain="[('routing_id', '=', 32)]"/>
</tree>
</field>
Это дает в качестве вывода:
Но он должен показывать только «bbb», поскольку «bbb» - единственная запись в базе данных с routing_id = 32 в таблице tussenmodel_wc_producten, а bom_id в таблице tussenmodel_wc_producten равна id в mrp.bom.
Я проверил это с помощью запроса SQL:
select producten
from mrp_bom as m JOIN tussenmodel_wc_producten as t ON(m.id = t.bom_id)
where t.routing_id = 32
Что имеет, как только выход "БББ".
Что я здесь делаю неправильно?
Edit: Некоторые скриншоты для Людвика трамвайщик:
Я попытался понять это, но это довольно сложно понять для меня. Итак, домен, который я вложил в мои взгляды, ничего не делает правильно? Но я предполагаю, что должен быть какой-то способ выбора значений для показа? Я должен поставить свой домен где-то еще? – RobbeM
Не могли бы вы сделать тот же снимок экрана, но с большим контекстом вокруг него, поэтому я могу убедиться, что правильно его интерпретирую? –
Я добавил их в свой OP. – RobbeM