从odoo中的其他字段获取数据

时间:2018-01-06 19:32:18

标签: odoo-9

我需要从field1中的列表值中获取value field2。 Field1与另一个模型中的field关联many2many。 我尝试使用域,但每次收到错误。

class filial_page_products(models.Model):
    gallery_rstamp_products_ids = fields.Many2many('product.template',
                                     'gallery_rstamp_products_rel',
                                     'gallery_rstamp_products_ids', 'filial_page_new_rstamp_products_ids',
                                     'Gallery products')
    default_gallery_product_id =  fields.Many2one('product.template','Default maket', domain="[(default_gallery_product_id, 'in', 'filial_page_gallery_rstamp_products_ids')]")

class product(models.Model):
    _inherit = 'product.template'
    filial_page_gallery_rstamp_products_ids = fields.Many2many('product.template',
                                 'gallery_rstamp_products_rel',
                                 'filial_page_recovery_rstamp_products_ids', 'gallery_rstamp_products_ids',
                                 'Gallery list')
    filial_page_default_maket_product_ids = fields.One2many('pr_filials.filial_page_products',
                                                            'default_gallery_product_id',
                                                            'Linked page products')

如何使用domain只选择gallery_rstamp_products_ids字段中指定的值? 当然,我可以从所有产品中设置default_gallery_product_id,但我不喜欢它。

1 个答案:

答案 0 :(得分:0)

您的域名看起来不太合适。应该引用左操作数,并且右边应该被引用(除非它实际上应该被评估为字符串)。

domain="[('default_gallery_product_id', 'in', filial_page_gallery_rstamp_products_ids)]"

请注意,对x2many字段one2manymany2many进行过滤需要特殊格式。您可能需要使用此(下方),但有reports of issues using this in newer versions

domain="[('default_gallery_product_id', 'in', filial_page_gallery_rstamp_products_ids[0][2])]"

这里有一些documentation on domains