Search 1.9 billion lines of Odoo code on GitHub

base_m2m_custom_field

Author: Camptocamp, Odoo Community Association (OCA)
License: AGPL-3
Branch: 16.0
Repository: acsone/server-tools
Dependencies: base
Languages: HTML (385, 84.8%), Python (20, 4.4%), and reStructuredText (49, 10.8%)
Other branches: 10.0-backport-base_m2m_custom_field, 12.0, 12.0-asw_master, 12.0-backport-shopinvader_customer_multi_user-len, 12.0-jsonifyfull-len, 12.0-jsonifystored-len, 12.0-jsonifystoredsimple-len, 12.0-partition-len, 12.0-safetranlations-len, 12.0-trn_master, 12.0-xmlify-len, 13.0, 13.0-bp-jsonifier-ape, 13.0-custom_sequence_code, 13.0-fix-cache-base_jsonify-ape, 13.0-fix-precommit-ape, 13.0-jsonifyfull-len, 13.0-jsonifystored-len, 13.0-jsonifystorednew-len, 13.0-mig-request_auditor, 13.0-mig_auto_export, 13.0-partition-len, 13.0-rlf_master, 13.0-session_db-sbi, 13.0-slg_master, 13.0-update-dotfiles-sbi, 13.0-xmlify-len, 14-fix-mc-base_tech_user-dro, 14.0, 14.0-mass_mailing_mail_server-mle, 14.0-session_db-sbi, 16.0-base_time_window-sbj, 16.0-mig-base_m2m_custom_field-dro, 16.0-mig-base_sparse_field_list_support-hda, 16.0-session_db-sbi, and pre-commit-cache-sbi
Other repositories: 001101/server-tools, 0yik/server-tools, AITIC/server-tools, AMhadhbi/server-tools, Albin-John/server-tools, Artielkami/server-tools, CB-Gran-Canaria/server-tools, Callino/server-tools, Change2improve/server-tools, ComitorDevTeam/server-tools, Comunitea/server-tools, Digital5-Odoo/server-tools, Dobtor-OCA/server-tools, DucTruongKomit/server-tools, DulingLai/server-tools, ERPLibre/server-tools, EssentNovaTeam/server-tools, FernandoRomera/server-tools, ForgeFlow/server-tools, Gabinete-Digital/server-tools, GleydsonHudson/server-tools, Ingeos/server-tools, Intesco2-0/server-tools, IvanShirokikh/server-tools, Jarsa/server-tools, JuaniFreedoo/server-tools, KonaERP/server-tools, LevelPrime/server-tools, LourenzoH/server-tools, NL66278/server-tools, OCA-MUK/server-tools, OCA/server-tools, OdooIndonesia/server-tools, Othniel1796/server-tools, QubiQ/server-tools, Rad0van/server-tools, SanteLibre/server-tools, ScopeaFrance/server-tools, SequarSrl/server-tools, SeuMarco/server-tools, SimoRubi/server-tools, SimoneVagile/server-tools, StefanRijnhart/server-tools, Syci-Consulting/server-tools, TRESCLOUD/server-tools, Tecnativa/server-tools, TimLai125/server-tools, UnknownInfo/server-tools, VanMoof/server-tools, Vauxoo/server-tools, YannickB/server-tools, YogeshMahera-SerpentCS/server-tools, aaltinisik/server-tools, adhoc-dev/server-tools, ajayjaviya/server-tools, akretion/server-tools, albertvimlet/server-tools, alfadil/server-tools, anhvu-sg/server-tools, anodino-dev/server-tools, ansinaesmejor/server-tools, antilhue/server-tools, area-scm/server-tools, aurestic/server-tools, avoinsystems/server-tools, azmeuk/server-tools, bangil0/server-tools, blooparksystems/server-tools, bmya/server-tools, brain-tec/server-tools, camptocamp/server-tools, captivea-dcr/server-tools, cheikhousy/server-tools, connect-to-ak/server-tools, coopiteasy/server-tools, crnd-inc/server-tools, dalal-intellisoft/server-tools, dani-xtendoo/server-tools, davidwah/server-tools, ddico/server-tools, dennybiasiolli/server-tools, diggy128/server-tools, dipakthapaofficial/server-tools, druidoo-dev/server-tools, eLBati/server-tools, ecosoft-odoo/server-tools, emagdalenaC2i/server-tools, etobella/server-tools, eversatis/server-tools, ewac-nl/server-tools, factorlibre/server-tools, fmdl/server-tools, focusate/oca-server-tools, gab-net/server-tools, gitguohao/server-tools, grindtildeath/server-tools, guewen/server-tools, gurneyalex/server-tools, hbrunn/server-tools, hibou-io/oca-server-tools, i-vyshnevska/server-tools, ideaspositivas-group/server-tools, igallart/server-tools, initOS/server-tools, insscn/server-tools, invitu/server-tools, ip-candres/server-tools, jaballate/server-tools, jacky82669513/server-tools, janverb/server-tools, jeanpaul-mupagasi/server-tools, kait-avalah/server-tools, kittiu/server-tools, kmee/server-tools, kos94ok-3D/server-tools, leemannd/server-tools, legalsylvain/server-tools, lideritjnma/server-tools, lilotter45/server-tools, lincersolucoes/oca-server-tools, lonelyleaves/server-tools, merchise-autrement/server-tools, modoolar/server-tools, multidadosti-erp/server-tools, nehaksolves/server-tools, newtratip/server-tools, nilshamerlinck/server-tools, njeudy/server-tools, ntsirintanis/server-tools, nuobit/server-tools, omalbastin/server-tools, open2bizz/server-tools, petrus-v/server-tools, praxigento/oca-server-tools, programadorzurita/server-tools, raizs/server-tools, rdeheele/server-tools, robertsvx27/server-tools, romendil/server-tools, rsullivan2704/server-tools, rudisulistyo/server-tools, rven/server-tools, sanube/server-tools, sebalix/server-tools, sergiocorato/server-tools, simahawk/server-tools, sodexis/server-tools, solvosci/server-tools, ssaid/server-tools, steingabelgaard/server-tools, sunflowerit/server-tools, sunshineLhj/server-tools, suprielfath/server-tools, swbs-co/server-tools, sysprocesarcastro/server-tools, tafaRU/server-tools, takinobori/oca-server-tools, tarteo/server-tools, tegin/server-tools, tirma-sa/server-tools, tmasson/server-tools, tongjiou/server-tools, tonygalmiche/server-tools, trevi-software/server-tools, trobz/server-tools, unitek-solusi/OCA-server-tools, ursais/server-tools, valmarnet/server-tools, ventor-tech/server-tools, versada/server-tools, victoralmau/server-tools, vmelnych/server-tools, xcgd/server-tools, ygdmxy/server-tools, ypapouin/server-tools, yuzhengxing/server-tools, zarumaru/server-tools, and zhaohuaw/server-tools

<h1 class="title">Base Many2many Custom Field</h1> <p><a class="reference external" href="https://odoo-community.org/page/development-status"><img alt="Beta" src="https://img.shields.io/badge/maturity-Beta-yellow.png" /></a> <a class="reference external" href="http://www.gnu.org/licenses/agpl-3.0-standalone.html"><img alt="License: AGPL-3" src="https://img.shields.io/badge/licence-AGPL--3-blue.png" /></a> <a class="reference external" href="https://github.com/OCA/server-tools/tree/16.0/base_m2m_custom_field"><img alt="OCA/server-tools" src="https://img.shields.io/badge/github-OCA%2Fserver--tools-lightgray.png?logo=github" /></a> <a class="reference external" href="https://translation.odoo-community.org/projects/server-tools-16-0/server-tools-16-0-base_m2m_custom_field"><img alt="Translate me on Weblate" src="https://img.shields.io/badge/weblate-Translate%20me-F47D42.png" /></a> <a class="reference external" href="https://runbot.odoo-community.org/runbot/149/16.0"><img alt="Try me on Runbot" src="https://img.shields.io/badge/runbot-Try%20me-875A7B.png" /></a></p> <p>This module adds a new Many2many custom field with a <cite>create_table</cite> attribute.</p> <p><strong>Table of contents</strong></p> <div class="contents local topic" id="contents"> <ul class="simple"> <li><a class="reference internal" href="#usage" id="id1">Usage</a></li> <li><a class="reference internal" href="#bug-tracker" id="id2">Bug Tracker</a></li> <li><a class="reference internal" href="#credits" id="id3">Credits</a><ul> <li><a class="reference internal" href="#authors" id="id4">Authors</a></li> <li><a class="reference internal" href="#contributors" id="id5">Contributors</a></li> <li><a class="reference internal" href="#maintainers" id="id6">Maintainers</a></li> </ul> </li> </ul> </div> <a name="usage"></a> <h2><a class="toc-backref" href="#id1">Usage</a></h2> <p>Many2manyCustom field is useful when a direct access to the relational table is needed, for example to be editable in a dedicated tree view.</p> <p>Let's consider following models:</p> <pre> <code lang="python">class MyModelA(models.Model): _name = 'my.model.a' my_model_b_ids = fields.Many2manyCustom( 'my.model.b', 'my_model_a_b_rel', 'my_model_a_id', 'my_model_b_id', create_table=False, ) class MyModelB(models.Model): _name = 'my.model.b' my_model_a_ids = fields.Many2manyCustom( 'my.model.a', 'my_model_a_b_rel', 'my_model_b_id', 'my_model_a_id', create_table=False, ) class MyModelABRel(models.Model): _name = 'my.model.a.b.rel' my_model_a_id = fields.Many2one( 'my.model.a', required=True, index=True, # Index is mandatory here ) my_model_b_id = fields.Many2one( 'my.model.b', required=True, index=True, # Index is mandatory here )</code> </pre> <p>By setting <cite>create_table=False</cite> on the Many2manyCustom field, and using the relational table name, as <cite>_name</cite> for the relational model, we're able to define a dedicated tree view for <cite>my.model.a.b.rel</cite>.</p> <pre> <code lang="xml">&lt;record id=&quot;my_model_a_b_rel_tree_view&quot; model=&quot;ir.ui.view&quot;&gt; &lt;field name=&quot;name&quot;&gt;my.model.a.b.rel.tree.view&lt;/field&gt; &lt;field name=&quot;model&quot;&gt;my.model.a.b.rel&lt;/field&gt; &lt;field name=&quot;arch&quot; type=&quot;xml&quot;&gt; &lt;tree editable=&quot;top&quot;&gt; &lt;field name=&quot;my_model_a_id&quot; /&gt; &lt;field name=&quot;my_model_b_id&quot; /&gt; &lt;/tree&gt; &lt;/field&gt; &lt;/record&gt;</code> </pre> <a name="bug-tracker"></a> <h2><a class="toc-backref" href="#id2">Bug Tracker</a></h2> <p>Bugs are tracked on <a class="reference external" href="https://github.com/OCA/server-tools/issues">GitHub Issues</a>. In case of trouble, please check there if your issue has already been reported. If you spotted it first, help us smashing it by providing a detailed and welcomed <a class="reference external" href="https://github.com/OCA/server-tools/issues/new?body=module:%20base_m2m_custom_field%0Aversion:%2016.0%0A%0A**Steps%20to%20reproduce**%0A-%20...%0A%0A**Current%20behavior**%0A%0A**Expected%20behavior**">feedback</a>.</p> <p>Do not contact contributors directly about support or help with technical issues.</p> <a name="credits"></a> <h2><a class="toc-backref" href="#id3">Credits</a></h2> <a name="authors"></a> <h3><a class="toc-backref" href="#id4">Authors</a></h3> <ul class="simple"> <li>Camptocamp</li> </ul> <a name="contributors"></a> <h3><a class="toc-backref" href="#id5">Contributors</a></h3> <ul class="simple"> <li>Akim Juillerat &lt;<a class="reference external" href="mailto:akim.juillerat&#64;camptocamp.com">akim.juillerat&#64;camptocamp.com</a>&gt;</li> <li>Fernando La Chica &lt;<a class="reference external" href="mailto:fernandolachica&#64;gmail.com">fernandolachica&#64;gmail.com</a>&gt;</li> <li>Denis Roussel &lt;<a class="reference external" href="mailto:denis.roussel&#64;acsone.eu">denis.roussel&#64;acsone.eu</a>&gt;</li> </ul> <a name="maintainers"></a> <h3><a class="toc-backref" href="#id6">Maintainers</a></h3> <p>This module is maintained by the OCA.</p> <a class="reference external image-reference" href="https://odoo-community.org"><img alt="Odoo Community Association" src="https://odoo-community.org/logo.png" /></a> <p>OCA, or the Odoo Community Association, is a nonprofit organization whose mission is to support the collaborative development of Odoo features and promote its widespread use.</p> <p>This module is part of the <a class="reference external" href="https://github.com/OCA/server-tools/tree/16.0/base_m2m_custom_field">OCA/server-tools</a> project on GitHub.</p> <p>You are welcome to contribute. To learn how please visit <a class="reference external" href="https://odoo-community.org/page/Contribute">https://odoo-community.org/page/Contribute</a>.</p>