Odoo 19.0 Community · Abstract

mail.composer.mixin: fields, relations and API

The mail.composer.mixin model ("Mail Composer Mixin") is a abstract model declared by the Discuss module. It exposes 10 fields, 7 of them declared directly on the model. Below you will find every field with its technical name, type, label and relations, followed by an Odoo 19 JSON-2 API call.

Model identity

Technical name
mail.composer.mixin
Label
Mail Composer Mixin
Type
Abstract (models.AbstractModel)
SQL table
None (no table)
Origin module
Discuss (mail)
Inherits from (mixins)
mail.render.mixin

Model fields

7 own fields, 1 inherited from mixins and 2 automatic ORM fields. Click a name to get a direct link to that field.

10 of 10 fields shown

Technical nameLabelTypeDetails
bodyContentshtml
computed, stored
body_has_template_valueBody content is the same as the templateboolean
computed
can_edit_bodyCan Edit Bodyboolean
computed
is_mail_template_editorIs Editorboolean
computed
langLangchar
computed, stored
subjectSubjectchar
computed, stored
template_idMail Templatemany2one
render_modelRendering Modelchar
computed

inherited from mail.render.mixin

display_nameDisplay Namechar
read-onlycomputedautomatic
idIDinteger
read-onlyautomatic

Relations

Models linked from this model

Fields of other models pointing here

No Many2one or Many2many field of another model points to this model.

Reading this model through the API

Odoo 19 JSON-2 API call reading the first five records with real fields of the model. Replace the instance, database and API key with your own.

curl
curl -X POST "https://your-instance.odoo.com/json/2/mail.composer.mixin/search_read" \
  -H "Authorization: bearer $ODOO_API_KEY" \
  -H "X-Odoo-Database: your-db" \
  -H "Content-Type: application/json" \
  -d '{"domain":[],"fields":["template_id","lang","subject"],"limit":5}'
Python (requests)
import requests

BASE_URL = "https://your-instance.odoo.com/json/2"
headers = {"Authorization": f"bearer {API_KEY}", "X-Odoo-Database": "your-db"}

res = requests.post(
    f"{BASE_URL}/mail.composer.mixin/search_read",
    headers=headers,
    json={"domain": [], "fields": ["template_id","lang","subject"], "limit": 5},
)
res.raise_for_status()
print(res.json())
  • External API access requires Odoo's Custom plan.
  • XML-RPC and JSON-RPC will be removed in Odoo 22 (fall 2028): use JSON-2.
  • The access rights and record rules of the key's user apply.

Cite this tool

Writing a tutorial, internal documentation or a forum answer? Copy this link to send your readers to the up-to-date reference.

<a href="https://aidoo.ai/en/outils/explorateur-modeles-odoo/mail-composer-mixin">mail.composer.mixin (Odoo 19.0)</a>

Sources

Data verified on September 23, 2026 · Odoo 19.0 Community

Have an Odoo project, or want to put your ERP to work with AI? Let's talk

Implementation, custom module development, connecting Claude or ChatGPT to your data: tell us about your context and we will reply within 24 business hours.