python - Odoo:One2many 字段不工作

标签 python xml odoo one-to-many

我在 Odoo 中遇到了 one2many 字段的奇怪行为。

这是我的代码:

模型.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.")

View .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> 

这给出了输出:

enter image description here

但它应该只显示“bbb”,因为“bbb”是数据库中表 tussenmodel_wc_producten 中的 routing_id = 32 和表 tussenmodel_wc_producten 中的 bom_id 等于 mrp.bom 中的 id 的唯一记录。

我已经通过 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

它只有输出“bbb”。

我在这里做错了什么?

编辑: Ludwik Trammer 的更多截图: enter image description here enter image description here

最佳答案

字段上的

domain 属性仅控制哪些对象出现在可用对象列表中(即可以可能选择的对象关系)当用户编辑表单时。它不会做更多的事情,特别是它不会控制关系中实际存在的对象。

如果对象已经与“aaa”、“bbb”、“ccc”和“ddd”有关系,设置域不会改变它。

关于python - Odoo:One2many 字段不工作,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32522098/

相关文章:

来自 .txt 文件的 Python 列表

android - 如何刷新 GridView?

drop-down-menu - 从员工的操作下拉列表中删除 "Duplicate"

odoo - 使用 --dev=all? 启用开发者模式

odoo - 菜单链接不可见 odoo 9

python - 当我的蛇碰到它时,苹果不会消失

python3.4 安装 Flask 给出与 Jinja2 要求相关的错误消息

python - PyQt4 中的 QThreading PyQtGraph PlotWidgets

java - 如何使用 JAXB 避免不需要的 XML 标签。束缚太多?

.net - 如何使用 .NET 对 XML 文件进行排序?