===========================
Base Many2many Custom Field
===========================
..
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
!! This file is generated by oca-gen-addon-readme !!
!! changes will be overwritten. !!
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
!! source digest: sha256:0da12a0e841c3d3885f9d16227cfc94eb100b29bb31f6fe7e0d5ebe2bef443a2
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
.. |badge1| image:: https://img.shields.io/badge/maturity-Beta-yellow.png
:target: https://odoo-community.org/page/development-status
:alt: Beta
.. |badge2| image:: https://img.shields.io/badge/licence-AGPL--3-blue.png
:target: http://www.gnu.org/licenses/agpl-3.0-standalone.html
:alt: License: AGPL-3
.. |badge3| image:: https://img.shields.io/badge/github-OCA%2Fserver--tools-lightgray.png?logo=github
:target: https://github.com/OCA/server-tools/tree/18.0/base_m2m_custom_field
:alt: OCA/server-tools
.. |badge4| image:: https://img.shields.io/badge/weblate-Translate%20me-F47D42.png
:target: https://translation.odoo-community.org/projects/server-tools-18-0/server-tools-18-0-base_m2m_custom_field
:alt: Translate me on Weblate
.. |badge5| image:: https://img.shields.io/badge/runboat-Try%20me-875A7B.png
:target: https://runboat.odoo-community.org/builds?repo=OCA/server-tools&target_branch=18.0
:alt: Try me on Runboat
|badge1| |badge2| |badge3| |badge4| |badge5|
This module adds a new Many2many custom field with a create_table
attribute.
**Table of contents**
.. contents::
:local:
Usage
=====
Many2manyCustom field is useful when a direct access to the relational
table is needed, for example to be editable in a dedicated tree view.
Let's consider following models:
.. code:: 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
)
By setting create_table=False on the Many2manyCustom field, and using
the relational table name, as \_name for the relational model, we're
able to define a dedicated tree view for my.model.a.b.rel.
.. code:: xml
<record id="my_model_a_b_rel_list_view" model="ir.ui.view">
<field name="name">my.model.a.b.rel.list.view</field>
<field name="model">my.model.a.b.rel</field>
<field name="arch" type="xml">
<list editable="top">
<field name="my_model_a_id" />
<field name="my_model_b_id" />
</list>
</field>
</record>
Bug Tracker
===========
Bugs are tracked on `GitHub Issues <https://github.com/OCA/server-tools/issues>`_.
In case of trouble, please check there if your issue has already been reported.
If you spotted it first, help us to smash it by providing a detailed and welcomed
`feedback <https://github.com/OCA/server-tools/issues/new?body=module:%20base_m2m_custom_field%0Aversion:%2018.0%0A%0A**Steps%20to%20reproduce**%0A-%20...%0A%0A**Current%20behavior**%0A%0A**Expected%20behavior**>`_.
Do not contact contributors directly about support or help with technical issues.
Credits
=======
Authors
-------
* Camptocamp
Contributors
------------
- Akim Juillerat <akim.juillerat@camptocamp.com>
- Tris Doan <tridm@trobz.com>
Maintainers
-----------
This module is maintained by the OCA.
.. image:: https://odoo-community.org/logo.png
:alt: Odoo Community Association
:target: https://odoo-community.org
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.
This module is part of the `OCA/server-tools <https://github.com/OCA/server-tools/tree/18.0/base_m2m_custom_field>`_ project on GitHub.
You are welcome to contribute. To learn how please visit https://odoo-community.org/page/Contribute.
Raw data
{
"_id": null,
"home_page": "https://github.com/OCA/server-tools",
"name": "odoo-addon-base-m2m-custom-field",
"maintainer": null,
"docs_url": null,
"requires_python": ">=3.10",
"maintainer_email": null,
"keywords": null,
"author": "Camptocamp, Odoo Community Association (OCA)",
"author_email": "support@odoo-community.org",
"download_url": null,
"platform": null,
"description": "===========================\nBase Many2many Custom Field\n===========================\n\n.. \n !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!\n !! This file is generated by oca-gen-addon-readme !!\n !! changes will be overwritten. !!\n !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!\n !! source digest: sha256:0da12a0e841c3d3885f9d16227cfc94eb100b29bb31f6fe7e0d5ebe2bef443a2\n !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!\n\n.. |badge1| image:: https://img.shields.io/badge/maturity-Beta-yellow.png\n :target: https://odoo-community.org/page/development-status\n :alt: Beta\n.. |badge2| image:: https://img.shields.io/badge/licence-AGPL--3-blue.png\n :target: http://www.gnu.org/licenses/agpl-3.0-standalone.html\n :alt: License: AGPL-3\n.. |badge3| image:: https://img.shields.io/badge/github-OCA%2Fserver--tools-lightgray.png?logo=github\n :target: https://github.com/OCA/server-tools/tree/18.0/base_m2m_custom_field\n :alt: OCA/server-tools\n.. |badge4| image:: https://img.shields.io/badge/weblate-Translate%20me-F47D42.png\n :target: https://translation.odoo-community.org/projects/server-tools-18-0/server-tools-18-0-base_m2m_custom_field\n :alt: Translate me on Weblate\n.. |badge5| image:: https://img.shields.io/badge/runboat-Try%20me-875A7B.png\n :target: https://runboat.odoo-community.org/builds?repo=OCA/server-tools&target_branch=18.0\n :alt: Try me on Runboat\n\n|badge1| |badge2| |badge3| |badge4| |badge5|\n\nThis module adds a new Many2many custom field with a create_table\nattribute.\n\n**Table of contents**\n\n.. contents::\n :local:\n\nUsage\n=====\n\nMany2manyCustom field is useful when a direct access to the relational\ntable is needed, for example to be editable in a dedicated tree view.\n\nLet's consider following models:\n\n.. code:: python\n\n class MyModelA(models.Model):\n\n _name = 'my.model.a'\n\n my_model_b_ids = fields.Many2manyCustom(\n 'my.model.b',\n 'my_model_a_b_rel',\n 'my_model_a_id',\n 'my_model_b_id',\n create_table=False,\n )\n\n\n class MyModelB(models.Model):\n\n _name = 'my.model.b'\n\n my_model_a_ids = fields.Many2manyCustom(\n 'my.model.a',\n 'my_model_a_b_rel',\n 'my_model_b_id',\n 'my_model_a_id',\n create_table=False,\n )\n\n\n class MyModelABRel(models.Model):\n\n _name = 'my.model.a.b.rel'\n\n my_model_a_id = fields.Many2one(\n 'my.model.a',\n required=True,\n index=True, # Index is mandatory here\n )\n my_model_b_id = fields.Many2one(\n 'my.model.b',\n required=True,\n index=True, # Index is mandatory here\n )\n\nBy setting create_table=False on the Many2manyCustom field, and using\nthe relational table name, as \\_name for the relational model, we're\nable to define a dedicated tree view for my.model.a.b.rel.\n\n.. code:: xml\n\n <record id=\"my_model_a_b_rel_list_view\" model=\"ir.ui.view\">\n <field name=\"name\">my.model.a.b.rel.list.view</field>\n <field name=\"model\">my.model.a.b.rel</field>\n <field name=\"arch\" type=\"xml\">\n <list editable=\"top\">\n <field name=\"my_model_a_id\" />\n <field name=\"my_model_b_id\" />\n </list>\n </field>\n </record>\n\nBug Tracker\n===========\n\nBugs are tracked on `GitHub Issues <https://github.com/OCA/server-tools/issues>`_.\nIn case of trouble, please check there if your issue has already been reported.\nIf you spotted it first, help us to smash it by providing a detailed and welcomed\n`feedback <https://github.com/OCA/server-tools/issues/new?body=module:%20base_m2m_custom_field%0Aversion:%2018.0%0A%0A**Steps%20to%20reproduce**%0A-%20...%0A%0A**Current%20behavior**%0A%0A**Expected%20behavior**>`_.\n\nDo not contact contributors directly about support or help with technical issues.\n\nCredits\n=======\n\nAuthors\n-------\n\n* Camptocamp\n\nContributors\n------------\n\n- Akim Juillerat <akim.juillerat@camptocamp.com>\n- Tris Doan <tridm@trobz.com>\n\nMaintainers\n-----------\n\nThis module is maintained by the OCA.\n\n.. image:: https://odoo-community.org/logo.png\n :alt: Odoo Community Association\n :target: https://odoo-community.org\n\nOCA, or the Odoo Community Association, is a nonprofit organization whose\nmission is to support the collaborative development of Odoo features and\npromote its widespread use.\n\nThis module is part of the `OCA/server-tools <https://github.com/OCA/server-tools/tree/18.0/base_m2m_custom_field>`_ project on GitHub.\n\nYou are welcome to contribute. To learn how please visit https://odoo-community.org/page/Contribute.\n",
"bugtrack_url": null,
"license": "AGPL-3",
"summary": "Customizations of Many2many",
"version": "18.0.1.0.0.2",
"project_urls": {
"Homepage": "https://github.com/OCA/server-tools"
},
"split_keywords": [],
"urls": [
{
"comment_text": "",
"digests": {
"blake2b_256": "7b8d8a1731958473253e8bcfcc0d1611eee03c3743b418b935b139389bf19cf4",
"md5": "5f3a813c4dab1927924093cbccb207fb",
"sha256": "f91c48726c6db68fd7a6c21f28f5fcb57960057e1e6a292f3eca2898bc4dc693"
},
"downloads": -1,
"filename": "odoo_addon_base_m2m_custom_field-18.0.1.0.0.2-py3-none-any.whl",
"has_sig": false,
"md5_digest": "5f3a813c4dab1927924093cbccb207fb",
"packagetype": "bdist_wheel",
"python_version": "py3",
"requires_python": ">=3.10",
"size": 22535,
"upload_time": "2024-12-20T13:54:00",
"upload_time_iso_8601": "2024-12-20T13:54:00.101403Z",
"url": "https://files.pythonhosted.org/packages/7b/8d/8a1731958473253e8bcfcc0d1611eee03c3743b418b935b139389bf19cf4/odoo_addon_base_m2m_custom_field-18.0.1.0.0.2-py3-none-any.whl",
"yanked": false,
"yanked_reason": null
}
],
"upload_time": "2024-12-20 13:54:00",
"github": true,
"gitlab": false,
"bitbucket": false,
"codeberg": false,
"github_user": "OCA",
"github_project": "server-tools",
"travis_ci": false,
"coveralls": false,
"github_actions": true,
"requirements": [
{
"name": "acme",
"specs": []
},
{
"name": "astor",
"specs": []
},
{
"name": "cryptography",
"specs": []
},
{
"name": "dataclasses",
"specs": []
},
{
"name": "dnspython",
"specs": []
},
{
"name": "josepy",
"specs": []
},
{
"name": "mako",
"specs": []
},
{
"name": "odoo_test_helper",
"specs": []
},
{
"name": "odoorpc",
"specs": []
},
{
"name": "openpyxl",
"specs": []
},
{
"name": "openupgradelib",
"specs": []
},
{
"name": "pygount",
"specs": []
},
{
"name": "pysftp",
"specs": []
},
{
"name": "sentry_sdk",
"specs": [
[
"<=",
"1.9.0"
]
]
},
{
"name": "unidecode",
"specs": []
}
],
"lcname": "odoo-addon-base-m2m-custom-field"
}