コンテンツへスキップ
メニュー
この質問にフラグが付けられました
2 返信
1131 ビュー

How can I create a table under a vendor/contact that shows a list of products associated with that vendor? I'd like to be able to open up a contact and see all of the products that have that contact set as the vendor, but I'm not sure how to do this. I'm guessing it's a many2one relationship?

アバター
破棄
最善の回答

I am new here and would like to know on how to go about creating this report. Does anyone have step by step instructions or video? Thank you. 

アバター
破棄
最善の回答

Hi,

You can try this code:


from odoo import models, fields, api

class ProductVendor(models.Model):
_name = 'custom_module.product_vendor'
_description = 'Product Vendor Relationship'

product_id = fields.Many2one('product.product', string='Product')
vendor_id = fields.Many2one('res.partner', string='Vendor')



Add a Many2many field to link contacts to products in models.py:

from odoo import models, fields, api

class ResPartner(models.Model):
_inherit = 'res.partner'

product_ids = fields.Many2many('product.product', 'custom_module_product_vendor', 'vendor_id', 'product_id', string='Products')



Create a file views/res_partner_views.xml:

<odoo>
    <data>
        <record id="view_res_partner_form_inherit" model="ir.ui.view">
            <field name="name">res.partner.form.inherit</field>
            <field name="model">res.partner</field>
            <field name="inherit_id" ref="base.view_partner_form"/>
            <field name="arch" type="xml">
                <xpath expr="//page[@name='contacts']/group[@name='contact']/field[@name='function']" position="after">
                    <field name="product_ids" widget="many2many_tags" options="{'no_create': True}" context="{'default_vendor_id': id}"/>
                </xpath>
            </field>
        </record>
    </data>
</odoo>


Hope it helps

アバター
破棄
著作者

Thanks for the reply! I'm new to Odoo and am not sure where I would go to try the code. Can you provide a more detailed explanation of where to do that at?