Test ORM

test_orm
REPOSITORY
REPOSITORYodoo/odoo
GIT
GIThttps://github.com/odoo/odoo.git
GIT FOLDER
GIT FOLDERhttps://github.com/odoo/odoo/tree/19.0/test_orm
VERSION
VERSION 1.0
CATEGORY
CATEGORYHidden/Tests
LICENSE
LICENSELGPL-3
APPLICATION
APPLICATIONNo
AUTO-INSTALLABLE
AUTO-INSTALLABLENo
AUTHORS
AUTHORSOdoo S.A.
MAINTAINERS
MAINTAINERSOdoo S.A.
COMMITTERS
COMMITTERSRaphael Collet, Guewen Baconnier, Lucas Perais (lpe), Julien Mougenot, std-odoo, Achraf (abz), Rémy Voet (ryv), Ruben Gomes, Adrien Widart (awt), Victor Piryns (pivi), Chong Wang (cwg), Pierre Pulinckx, Krzysztof Magusiak (krma), Ajit Singh, Dhwani Patel, Patrick Stooks, adip-odoo, cro, Zachary (zavan)
WEBSITE
WEBSITE
LAST TRACKING UPDATE
LAST TRACKING UPDATE2026-07-06 01:51:47
ODOO DEPENDENCIES
ODOO DEPENDENCIES odoo/odoo:
    - base
    - web
    - web_tour
PYTHON DEPENDENCIES
PYTHON DEPENDENCIES Not have
SYSTEM DEPENDENCIES
SYSTEM DEPENDENCIES Not have
DESCRIPTION
DESCRIPTION
A module to test the ORM.

Code Analysis

Views touched (20)
XML IDNameModelTypeStatus
category_form category form view test_orm.category form New
category_tree category list view test_orm.category list New
compute_editable_form test_orm.compute_editable.form test_orm.compute_editable form New
discussion_form discussion form view test_orm.discussion form New
discussion_form_2 discussion form view test_orm.discussion form New
discussion_form_3 discussion form view test_orm.discussion form New
message_form message form view test_orm.message form New
message_tree message list view test_orm.message list New
model_parent_form model parent form view test_orm.model_parent_m2o form New
model_shared_cache_compute_parent_view_form model_shared_cache_compute_parent_view_form test_orm.model_shared_cache_compute_parent form New
multi_form multi form view test_orm.multi form New
multi_tree multi list view test_orm.multi list New
view_form_onchange_partial_view Onchange partial view: missing company_id field test_orm.onchange.partial.view form New
view_model2_some_access Test attrs and groups_sub test_orm.model2.some_access form New
view_model_all_access Test attrs and groups test_orm.model.all_access form New
view_model_model_active_field_search Test Active Search test_orm.model_active_field search New
view_model_model_active_field_tree Test Active List test_orm.model_active_field list New
view_model_no_access Test attrs and groups test_orm.model.no_access form New
view_model_some_access Test attrs and groups test_orm.model.some_access form New
view_model_some_access_tree Test attrs and groups list test_orm.model.some_access list New
Models touched (162)

New fields (3)
  • float Float
  • float_2 Float
    digits=(16, 2)
  • float_4 Float
    digits=(16, 4)
Public methods (0)

No public methods.

New fields (3)
  • bool_false Boolean
    default=False args: 'b2'
  • bool_true Boolean
    default=True args: 'b1'
  • bool_undefined Boolean
    args: 'b3'
Public methods (0)

No public methods.

New fields (4)
  • link_sibling_id Many2one → test_orm.any.child
    args: 'test_orm.any.child'
  • parent_id Many2one → test_orm.any.parent
    ondelete='cascade' required=True args: 'test_orm.any.parent'
  • quantity Integer
  • tag_ids Many2many → test_orm.any.tag
    args: 'test_orm.any.tag'
Public methods (0)

No public methods.

New fields (2)
  • child_ids One2many → test_orm.any.child
    args: 'test_orm.any.child', 'parent_id'
  • name Char
Public methods (0)

No public methods.

New fields (2)
  • child_ids Many2many → test_orm.any.child
    args: 'test_orm.any.child'
  • name Char
Public methods (0)

No public methods.

New fields (3)
  • name Char
    compute='_compute_name' compute_sudo=True store=True
  • res_id Integer
    required=True
  • res_model Char
    required=True
Public methods (1)
  • modified(self, fnames, *args, **kwargs)

New fields (5)
  • attachment_ids One2many → test_orm.attachment
    bypass_search_access=True domain=<expr> args: 'test_orm.attachment', 'res_id'
  • m2m_attachment_ids Many2many → test_orm.attachment
    bypass_search_access=True args: 'test_orm.attachment'
  • real_attachment_ids One2many → ir.attachment
    bypass_search_access=True domain=<expr> args: 'ir.attachment', 'res_id'
  • real_binary Binary
    attachment=True
  • real_m2m_attachment_ids Many2many → ir.attachment
    bypass_search_access=True args: 'ir.attachment'
Public methods (0)

No public methods.

New fields (1)
  • expire_at Datetime
    args: 'Expires at'
Public methods (0)

No public methods.

New fields (6)
  • foo Many2one → test_orm.foo
    compute='_compute_foo' search='_search_foo' args: 'test_orm.foo'
  • name Char
  • text1 Char
    readonly=False related='foo.text' args: 'Text1'
  • text2 Char
    readonly=False related='foo.text' trim=True args: 'Text2'
  • value1 Integer
    readonly=False related='foo.value1'
  • value2 Integer
    readonly=False related='foo.value2'
Public methods (0)

No public methods.

New fields (4)
  • image_attachment Binary
    attachment=True
  • image_wo_attachment Binary
    attachment=False
  • image_wo_attachment_related Binary
    attachment=False related='image_wo_attachment' store=True args: 'image wo attachment'
  • name Char
    required=True
Public methods (0)

No public methods.

New fields (3)
  • bar Char
    compute='_compute_bar'
  • baz Char
    compute='_compute_baz' store=True
  • foo Char
Public methods (0)

No public methods.

New fields (9)
  • color Integer
    args: 'Color Index'
  • depth Integer
    compute='_compute_depth'
  • discussions Many2many → test_orm.discussion
    args: 'test_orm.discussion', 'test_orm_discussion_category', 'category', 'discussion'
  • display_name Char
    inverse='_inverse_display_name' recursive=True
  • dummy Char
    store=False
  • name Char
    required=True
  • parent Many2one → test_orm.category
    ondelete='cascade' args: 'test_orm.category'
  • parent_path Char
    index=True
  • root_categ Many2one → test_orm.category
    compute='_compute_root_categ' args: 'test_orm.category'
Public methods (0)

No public methods.

New fields (2)
  • country_id Many2one → test_orm.country
    args: 'test_orm.country'
  • name Char
Public methods (0)

No public methods.

New fields (12)
  • company_id Many2one → res.company
    company_dependent=True args: 'res.company'
  • count Integer
    company_dependent=True
  • date Date
    company_dependent=True
  • foo Char
    company_dependent=True
  • html1 Html
    company_dependent=True sanitize=False
  • html2 Html
    company_dependent=True sanitize_attributes=True strip_classes=True strip_style=True
  • moment Datetime
    company_dependent=True
  • partner_id Many2one → res.partner
    company_dependent=True args: 'res.partner'
  • phi Float
    company_dependent=True digits=(2, 5)
  • tag_id Many2one → test_orm.multi.tag
    company_dependent=True args: 'test_orm.multi.tag'
  • text Text
    company_dependent=True
  • truth Boolean
    company_dependent=True
Public methods (0)

No public methods.

New fields (3)
  • bar Char
    compute='_compute_bar' store=True
  • company Many2one → test_orm.company
    args: 'test_orm.company'
  • quantity Integer
Public methods (0)

No public methods.

New fields (4)
  • member_count Integer
    compute='_compute_member_count' store=True
  • member_ids One2many → test_orm.compute.member
    args: 'test_orm.compute.member', 'container_id'
  • name Char
  • name_translated Char
    translate=True
Public methods (0)

No public methods.

New fields (2)
  • name Char
  • value Integer
    compute='_compute_value' store=True
Public methods (0)

No public methods.

New fields (2)
  • created_id Many2one → test_orm.compute.created
    compute='_compute_created' store=True args: 'test_orm.compute.created'
  • name Char
Public methods (0)

No public methods.

New fields (4)
  • full_name Char
    compute='_compute_full_name'
  • name1 Char
  • name2 Char
  • name3 Char
Public methods (0)

No public methods.

New fields (5)
  • bar Char
    compute='_compute_bar' inverse='_inverse_bar' store=True
  • baz Char
  • child_ids One2many → test_orm.compute.inverse
    compute='_compute_child_ids' inverse='_inverse_child_ids' store=True args: 'test_orm.compute.inverse', 'parent_id'
  • foo Char
  • parent_id Many2one → test_orm.compute.inverse
    args: 'test_orm.compute.inverse'
Public methods (0)

No public methods.

New fields (6)
  • container_context_id Many2one → test_orm.compute.container
    compute='_compute_container_context_id' search='_search_container_context' args: 'test_orm.compute.container'
  • container_context_name Char
    related='container_context_id.name' string='Container Context Name'
  • container_context_name_translated Char
    related='container_context_id.name_translated' string='Container Context Name Translated'
  • container_id Many2one → test_orm.compute.container
    compute='_compute_container' store=True args: 'test_orm.compute.container'
  • container_super_id Many2one → test_orm.compute.container
    string='Container For SUPERUSER' args: 'test_orm.compute.container'
  • name Char
Public methods (0)

No public methods.

New fields (8)
  • active Boolean
  • bar Char
    compute='_compute_bar' store=True
  • baz Char
    compute='_compute_baz' readonly=False store=True
  • count Integer
    default=0
  • foo Char
  • line_ids One2many → test_orm.compute.onchange.line
    compute='_compute_line_ids' readonly=False store=True args: 'test_orm.compute.onchange.line', 'record_id'
  • quux Char
    compute='_compute_quux'
  • tag_ids Many2many → test_orm.multi.tag
    compute='_compute_tag_ids' readonly=False store=True args: 'test_orm.multi.tag'
Public methods (1)
  • copy_data(self, default=None)

New fields (3)
  • bar Char
    compute='_compute_bar'
  • foo Char
  • record_id Many2one → test_orm.compute.onchange
    ondelete='cascade' args: 'test_orm.compute.onchange'
Public methods (0)

No public methods.

New fields (2)
  • bar Char
    compute='_compute_bar' store=True
  • foo Char
    default=''
Public methods (0)

No public methods.

New fields (2)
  • bar Char
    compute='_compute_bar' readonly=False store=True
  • foo Char
Public methods (0)

No public methods.

New fields (1)
  • name_for_uid Char
    compute='_compute_name_for_uid' compute_sudo=True
Public methods (0)

No public methods.

New fields (5)
  • bar Char
    compute='_compute_bar'
  • bare Char
    compute='_compute_bare' readonly=False
  • bares Char
    compute='_compute_bares' readonly=False store=True
  • bars Char
    compute='_compute_bars' store=True
  • foo Char
Public methods (0)

No public methods.

New fields (2)
  • line_ids One2many → test_orm.compute_editable.line
    args: 'test_orm.compute_editable.line', 'parent_id'
  • precision_rounding Float
    default=0.01 digits=(1, 10)
Public methods (0)

No public methods.

New fields (6)
  • count Integer
  • edit Integer
    compute='_compute_edit' readonly=False store=True
  • one_compute Float
    compute='_compute_one_compute'
  • parent_id Many2one → test_orm.compute_editable
    args: 'test_orm.compute_editable'
  • same Integer
    compute='_compute_same' store=True
  • value Integer
Public methods (0)

No public methods.

New fields (5)
  • bar Integer
  • foo Integer
  • name Char
  • sub_bar Integer
  • sub_foo Integer
    compute='_compute_sub_foo'
Public methods (0)

No public methods.

New fields (4)
  • all_line_ids One2many → test_orm.computed_inverse_one2many_line
    args: 'test_orm.computed_inverse_one2many_line', 'parent_id'
  • high_priority_line_ids One2many → test_orm.computed_inverse_one2many_line
    compute='_compute_priority_line_ids' inverse='_inverse_line_ids' args: 'test_orm.computed_inverse_one2many_line'
  • low_priority_line_ids One2many → test_orm.computed_inverse_one2many_line
    compute='_compute_priority_line_ids' inverse='_inverse_line_ids' args: 'test_orm.computed_inverse_one2many_line'
  • name Char
Public methods (0)

No public methods.

New fields (3)
  • name Char
  • parent_id Many2one → test_orm.computed_inverse_one2many
    args: 'test_orm.computed_inverse_one2many'
  • priority Integer
Public methods (0)

No public methods.

New fields (1)
  • name Char
Public methods (0)

No public methods.

New fields (7)
  • author_id Many2one → test_orm.person
    args: 'test_orm.person'
  • lesson_ids One2many → test_orm.lesson
    args: 'test_orm.lesson', 'course_id'
  • m2o_reference_id Many2oneReference
    model_field='m2o_reference_model' string='reference to lesson too'
  • m2o_reference_model Char
    string='reference to the model for m2o_reference'
  • name Char
    args: 'Name'
  • private_field Char
    groups='base.group_no_one'
  • reference Reference
    selection='_selection_reference_model' string='reference to lesson'
Public methods (0)

No public methods.

New fields (2)
  • editions One2many → test_orm.creativework.edition
    domain=[('res_model', '=', 'test_orm.creativework.book')] args: 'test_orm.creativework.edition', 'res_id'
  • name Char
Public methods (0)

No public methods.

New fields (4)
  • name Char
  • res_id Integer
    required=True
  • res_model Char
    readonly=False related='res_model_id.model' store=True
  • res_model_id Many2one → ir.model
    ondelete='cascade' required=True args: 'ir.model'
Public methods (0)

No public methods.

New fields (2)
  • editions One2many → test_orm.creativework.edition
    domain=[('res_model', '=', 'test_orm.creativework.movie')] args: 'test_orm.creativework.edition', 'res_id'
  • name Char
Public methods (0)

No public methods.

New fields (3)
  • pirate_id Many2one → test_orm.pirate
    args: 'test_orm.pirate'
  • prisoner_id Many2one → test_orm.prisoner
    args: 'test_orm.prisoner'
  • ship_id Many2one → test_orm.ship
    args: 'test_orm.ship'
Public methods (0)

No public methods.

New fields (2)
  • sum_quantity Integer
  • tag_id Many2one → test_orm.any.tag
    args: 'test_orm.any.tag'
Public methods (0)

No public methods.

New fields (2)
  • sum_quantity Integer
  • tag_id Many2one → test_orm.any.tag
    args: 'test_orm.any.tag'
Public methods (0)

No public methods.

New fields (2)
  • sum_quantity Integer
  • tag_id Many2one → test_orm.any.tag
    args: 'test_orm.any.tag'
Public methods (1)
  • init(self)

New fields (12)
  • attributes_definition PropertiesDefinition
    args: 'Message Properties'
  • categories Many2many → test_orm.category
    args: 'test_orm.category', 'test_orm_discussion_category', 'discussion', 'category'
  • emails One2many → test_orm.emailmessage
    args: 'test_orm.emailmessage', 'discussion'
  • history Json
    default={'delete_messages': []} args: 'History'
  • important_emails One2many → test_orm.emailmessage
    domain=[('important', '=', True)] args: 'test_orm.emailmessage', 'discussion'
  • important_messages One2many → test_orm.message
    domain=[('important', '=', True)] args: 'test_orm.message', 'discussion'
  • message_concat Text
    string='Message concatenate'
  • messages One2many → test_orm.message
    copy=True args: 'test_orm.message', 'discussion'
  • moderator Many2one → res.users
    args: 'res.users'
  • name Char
    help='Description of discussion.' required=True string='Title'
  • participants Many2many → res.users
    context={'active_test': False} args: 'res.users'
  • very_important_messages One2many → test_orm.message
    domain=<expr> args: 'test_orm.message', 'discussion'
Public methods (0)

No public methods.

New fields (1)
  • display_name Char
    store=True
Public methods (0)

No public methods.

New fields (0)

No new fields.

Public methods (0)

No public methods.

New fields (3)
  • active Boolean
    related='message.active' related_sudo=False store=True args: 'Active Message'
  • email_to Char
    args: 'To'
  • message Many2one → test_orm.message
    ondelete='cascade' required=True args: 'test_orm.message', 'Message'
Public methods (0)

No public methods.

New fields (3)
  • all_employee_ids One2many → test_orm.person
    context={'active_test': False} args: 'test_orm.person', 'employer_id'
  • employee_ids One2many → test_orm.person
    args: 'test_orm.person', 'employer_id'
  • name Char
    args: 'Name'
Public methods (0)

No public methods.

New fields (1)
  • name Char
    args: 'Name'
Public methods (0)

No public methods.

New fields (1)
  • number Integer
    args: 'Number'
Public methods (0)

No public methods.

New fields (1)
  • pArTneR_321_id Many2one → res.partner
    args: 'res.partner'
Public methods (0)

No public methods.

New fields (4)
  • name Char
  • text Char
    trim=False
  • value1 Integer
    change_default=True
  • value2 Integer
Public methods (0)

No public methods.

New fields (2)
  • name Char
  • user_ids Many2many → test_orm.user
    args: 'test_orm.user'
Public methods (0)

No public methods.

New fields (1)
  • node_id Many2one → test_orm.hierarchy.node
    args: 'test_orm.hierarchy.node'
Public methods (0)

No public methods.

New fields (3)
  • child_ids One2many → test_orm.hierarchy.node
    inverse_name='parent_id' args: 'test_orm.hierarchy.node'
  • name Char
  • parent_id Many2one → test_orm.hierarchy.node
    args: 'test_orm.hierarchy.node'
Public methods (0)

No public methods.

New fields (1)
  • name Text
    index='trigram' translate=True args: 'Name trigram'
Public methods (0)

No public methods.

New fields (3)
  • model_computed_ids One2many → test_orm.model_many2one_reference
    compute='_compute_model_computed_ids' string='Models Computed' args: 'test_orm.model_many2one_reference'
  • model_ids One2many → test_orm.model_many2one_reference
    domain=[('const', '=', True)] string='Models' args: 'test_orm.model_many2one_reference', 'res_id'
  • model_ids_count Integer
    compute='_compute_model_ids_count' args: 'Count'
Public methods (0)

No public methods.

New fields (6)
  • attendee_ids Many2many → test_orm.person
    context={'active_test': False} args: 'test_orm.person', 'lesson_ids'
  • course_id Many2one → test_orm.course
    args: 'test_orm.course'
  • date Date
  • name Char
    args: 'Name'
  • teacher_birthdate Date
    related='teacher_id.birthday'
  • teacher_id Many2one → test_orm.person
    args: 'test_orm.person'
Public methods (0)

No public methods.

New fields (15)
  • active Boolean
    default=True
  • attributes Properties
    definition='discussion.attributes_definition' string='Discussion Properties'
  • author Many2one → res.users
    default=<expr> args: 'res.users'
  • author_partner Many2one → res.partner
    compute='_compute_author_partner' search='_search_author_partner' args: 'res.partner'
  • body Text
    index='trigram'
  • discussion Many2one → test_orm.discussion
    ondelete='cascade' args: 'test_orm.discussion'
  • discussion_name Char
    readonly=False related='discussion.name' string='Discussion Name'
  • display_name Char
    string='Abstract'
  • double_size Integer
    compute='_compute_double_size'
  • has_important_sibling Boolean
    compute='_compute_has_important_sibling' search='_search_has_important_sibling'
  • important Boolean
  • label Char
    translate=True
  • name Char
    compute='_compute_name' store=True string='Title'
  • priority Integer
  • size Integer
    compute='_compute_size' search='_search_size'
Public methods (1)
  • write(self, vals)

New fields (19)
  • amount Monetary
  • comment0 Html
  • comment1 Html
    sanitize=False
  • comment2 Html
    sanitize_attributes=True strip_classes=False
  • comment3 Html
    sanitize_attributes=True strip_classes=True
  • comment4 Html
    sanitize_attributes=True strip_style=True
  • comment5 Html
    sanitize_attributes=False sanitize_overridable=True
  • count Integer
  • currency_id Many2one → res.currency
    default=<expr> args: 'res.currency'
  • date Date
  • foo Char
  • lang Selection
    selection='_get_lang' string='Language'
  • moment Datetime
  • now Datetime
    compute='_compute_now'
  • number Float
    default=3.14 digits=(10, 2)
  • number2 Float
    digits='ORM Precision'
  • reference Reference
    selection='_reference_models' string='Related Document'
  • text Text
  • truth Boolean
Public methods (0)

No public methods.

New fields (0)

No new fields.

Public methods (0)

No public methods.

New fields (3)
  • ab Integer
    default=1
  • cd Integer
    default=1 groups='base.group_portal'
  • ef Integer
    default=1
Public methods (1)
  • action_full(self)

New fields (2)
  • ab Integer
    default=1
  • cd Integer
    default=1 groups='base.group_portal'
Public methods (0)

No public methods.

New fields (12)
  • a Integer
  • b Integer
  • c Integer
  • d Integer
    default=1 groups='base.group_erp_manager'
  • e Integer
    default=1 groups='base.group_erp_manager,base.group_multi_company'
  • f Integer
    groups='base.group_erp_manager,base.group_portal'
  • g Integer
    default=1 groups='base.group_erp_manager,base.group_multi_company,!base.group_portal'
  • g_id Many2one → test_orm.model.all_access
    string='m2o g_id' args: 'test_orm.model.all_access'
  • h Integer
    default=1 groups='base.group_erp_manager,!base.group_portal'
  • i Integer
    default=1 groups='!base.group_portal'
  • j Integer
    default=1 groups='base.group_portal'
  • k Integer
    default=1 groups='base.group_public'
Public methods (0)

No public methods.

New fields (2)
  • g_d Integer
    related='g_id.d'
  • g_id Many2one → test_orm.model.some_access
    domain='[("a", "=", g_d)]' args: 'test_orm.model.some_access'
Public methods (0)

No public methods.

New fields (2)
  • xxx_id Many2one → test_orm.model2.some_access
    args: 'test_orm.model2.some_access'
  • xxx_sub_id Many2one
    related='xxx_id.g_id'
Public methods (0)

No public methods.

New fields (3)
  • a_restricted_b_ids Many2many → test_orm.model_b
    relation='rel_model_a_model_b_1' args: 'test_orm.model_b'
  • b_restricted_b_ids Many2many → test_orm.model_b
    ondelete='restrict' relation='rel_model_a_model_b_2' args: 'test_orm.model_b'
  • name Char
Public methods (0)

No public methods.

New fields (9)
  • active Boolean
    default=True
  • active_children_ids One2many → test_orm.model_active_field
    context={'active_test': True} args: 'test_orm.model_active_field', 'parent_id'
  • all_children_ids One2many → test_orm.model_active_field
    context={'active_test': False} args: 'test_orm.model_active_field', 'parent_id'
  • all_relatives_ids Many2many → test_orm.model_active_field
    context={'active_test': False} args: 'test_orm.model_active_field', 'model_active_field_relatives_rel', 'source_id', 'dest_id'
  • children_ids One2many → test_orm.model_active_field
    args: 'test_orm.model_active_field', 'parent_id'
  • name Char
  • parent_active Boolean
    related='parent_id.active' store=True string='Active Parent'
  • parent_id Many2one → test_orm.model_active_field
    args: 'test_orm.model_active_field'
  • relatives_ids Many2many → test_orm.model_active_field
    args: 'test_orm.model_active_field', 'model_active_field_relatives_rel', 'source_id', 'dest_id'
Public methods (0)

No public methods.

New fields (3)
  • a_restricted_a_ids Many2many → test_orm.model_a
    ondelete='restrict' relation='rel_model_a_model_b_1' args: 'test_orm.model_a'
  • b_restricted_a_ids Many2many → test_orm.model_a
    relation='rel_model_a_model_b_2' args: 'test_orm.model_a'
  • name Char
Public methods (0)

No public methods.

New fields (6)
  • binary Binary
  • binary_computed Binary
    compute='_compute_binary'
  • binary_related_no_store Binary
    readonly=False related='binary' store=False args: 'Binary Related No Store'
  • binary_related_store Binary
    readonly=False related='binary' store=True args: 'Binary Related Store'
  • binary_x_filename Char
  • binary_x_filename2 Char
Public methods (0)

No public methods.

New fields (4)
  • company_id Many2one → res.company
    args: 'res.company'
  • name Char
  • parent_id Many2one → test_orm.model_parent
    check_company=True string='Parent' args: 'test_orm.model_parent'
  • parent_ids Many2many → test_orm.model_parent
    check_company=True string='Parents' args: 'test_orm.model_parent'
Public methods (0)

No public methods.

New fields (5)
  • cost Integer
    compute='_compute_cost' readonly=False store=True
  • name Char
    args: 'Name'
  • parent_id Many2one → test_orm.model_parent_m2o
    ondelete='cascade' args: 'test_orm.model_parent_m2o'
  • size1 Integer
    compute='_compute_sizes' store=True
  • size2 Integer
    compute='_compute_sizes' store=True
Public methods (1)
  • write(self, vals)

New fields (3)
  • company_id Many2one → res.company
    args: 'res.company'
  • name Char
  • parent_id Many2one → test_orm.model_parent
    check_company=False args: 'test_orm.model_parent'
Public methods (0)

No public methods.

New fields (2)
  • bar Integer
  • foo Char
Public methods (0)

No public methods.

New fields (6)
  • image Image
  • image_128 Image
    max_height=128 max_width=128 args: 'Image 128'
  • image_256 Image
    max_height=256 max_width=256 readonly=False related='image' store=False args: 'Image 256'
  • image_512 Image
    max_height=512 max_width=512 readonly=False related='image' store=True args: 'Image 512'
  • image_64 Image
    attachment=False max_height=64 max_width=64 readonly=False related='image' store=True args: 'Image 64'
  • name Char
    required=True
Public methods (0)

No public methods.

New fields (3)
  • const Boolean
    default=True
  • res_id Many2oneReference
    model_field='res_model' args: 'Resource ID'
  • res_model Char
    args: 'Resource Model'
Public methods (0)

No public methods.

New fields (2)
  • company_id Many2one → res.company
    args: 'res.company'
  • name Char
Public methods (0)

No public methods.

New fields (3)
  • child_ids One2many → test_orm.model_child_m2o
    string='Children' args: 'test_orm.model_child_m2o', 'parent_id'
  • cost Integer
    compute='_compute_cost' store=True
  • name Char
    args: 'Name'
Public methods (0)

No public methods.

New fields (1)
  • my_selection Selection
    args: [('foo', 'Foo'), ('bar', 'Bar')]
Public methods (0)

No public methods.

New fields (1)
  • my_selection Selection
    ondelete={'quux': 'set null'} selection_add=[('quux', 'Quux')]
Public methods (0)

No public methods.

New fields (1)
  • my_selection Selection
    selection_add=[('ham', 'Ham')]
Public methods (0)

No public methods.

New fields (1)
  • my_selection Selection
    company_dependent=True args: [('manual', 'Manual'), ('auto', 'Automatic')]
Public methods (0)

No public methods.

New fields (1)
  • my_selection Selection
    selection_add=[('semi_auto', 'Semi-Automatic')]
Public methods (0)

No public methods.

New fields (1)
  • my_selection Selection
    store=False args: [('foo', 'Foo'), ('bar', 'Bar')]
Public methods (0)

No public methods.

New fields (2)
  • related_selection Selection
    related='selection_id.my_selection'
  • selection_id Many2one → test_orm.model_selection_base
    comodel_name='test_orm.model_selection_base' required=True
Public methods (0)

No public methods.

New fields (2)
  • related_selection Selection
    readonly=False related='selection_id.my_selection'
  • selection_id Many2one → test_orm.model_selection_base
    comodel_name='test_orm.model_selection_base' required=True
Public methods (0)

No public methods.

New fields (2)
  • active Boolean
    default=True
  • my_selection Selection
    default='foo' required=True args: [('foo', 'Foo'), ('bar', 'Bar')]
Public methods (0)

No public methods.

New fields (1)
  • my_selection Selection
    ondelete={'baz': 'set default'} selection_add=[('baz', 'Baz')]
Public methods (0)

No public methods.

New fields (1)
  • my_selection Selection
    ondelete={'eggs': 'cascade'} selection_add=[('eggs', 'Eggs')]
Public methods (0)

No public methods.

New fields (1)
  • my_selection Selection
    ondelete={'bacon': 'set bar'} selection_add=[('bacon', 'Bacon')]
Public methods (0)

No public methods.

New fields (1)
  • my_selection Selection
    ondelete={'pikachu': 'set default', 'eevee': <expr>} selection_add=[('pikachu', 'Pikachu'), ('eevee', 'Eevee')]
Public methods (0)

No public methods.

New fields (1)
  • my_selection Selection
    ondelete={'knickers': <expr>} selection_add=[('knickers', 'Oh la la')]
Public methods (0)

No public methods.

New fields (1)
  • my_selection Selection
    default='foo' required=True args: [('foo', 'Foo'), ('bar', 'Bar')]
Public methods (0)

No public methods.

New fields (1)
  • my_selection Selection
    ondelete={'divinity': 'set default'} selection_add=[('divinity', 'Divinity: Original Sin 2')]
Public methods (1)
  • write(self, vals)

New fields (3)
  • amount Integer
  • parent_id Many2one → test_orm.model_shared_cache_compute_parent
    args: 'test_orm.model_shared_cache_compute_parent'
  • user_id Many2one → res.users
    default=<expr> args: 'res.users'
Public methods (0)

No public methods.

New fields (3)
  • line_ids One2many → test_orm.model_shared_cache_compute_line
    string='Timesheets' args: 'test_orm.model_shared_cache_compute_line', 'parent_id'
  • name Char
    string='Task Name'
  • total_amount Integer
    compute='_compute_total_amount' compute_sudo=True store=True
Public methods (0)

No public methods.

New fields (3)
  • line_ids One2many → test_orm.modified.line
    args: 'test_orm.modified.line', 'modified_id'
  • name Char
    args: 'Name'
  • total_quantity Integer
    compute='_compute_total_quantity'
Public methods (0)

No public methods.

New fields (8)
  • child_ids One2many → test_orm.modified.line
    args: 'test_orm.modified.line', 'parent_id'
  • modified_id Many2one → test_orm.modified
    args: 'test_orm.modified'
  • modified_name Char
    related='modified_id.name'
  • parent_id Many2one → test_orm.modified.line
    args: 'test_orm.modified.line'
  • price Float
  • quantity Integer
  • total_price Float
    compute='_compute_total_quantity' recursive=True
  • total_price_quantity Float
    compute='_compute_total_price_quantity'
Public methods (0)

No public methods.

New fields (2)
  • amount Monetary
    currency_field='base_currency_id'
  • base_currency_id Many2one → res.currency
    args: 'res.currency'
Public methods (0)

No public methods.

New fields (3)
  • monetary_id Many2one → test_orm.monetary_base
    args: 'test_orm.monetary_base'
  • x_amount Monetary
    related='monetary_id.amount'
  • x_currency_id Many2one → res.currency
    related='monetary_id.base_currency_id' args: 'res.currency'
Public methods (0)

No public methods.

New fields (2)
  • currency_id Many2one → res.currency
    args: 'res.currency'
  • monetary_id Many2one → test_orm.monetary_base
    ondelete='cascade' required=True args: 'test_orm.monetary_base'
Public methods (0)

No public methods.

New fields (3)
  • currency_id Many2one → res.currency
    args: 'res.currency'
  • line_ids One2many → test_orm.monetary_order_line
    args: 'test_orm.monetary_order_line', 'order_id'
  • total Monetary
    compute='_compute_total' store=True
Public methods (0)

No public methods.

New fields (2)
  • order_id Many2one → test_orm.monetary_order
    ondelete='cascade' required=True args: 'test_orm.monetary_order'
  • subtotal Float
    digits=(10, 2)
Public methods (0)

No public methods.

New fields (4)
  • amount Monetary
    related='monetary_id.amount'
  • currency_id Many2one → res.currency
    related='monetary_id.base_currency_id' args: 'res.currency'
  • monetary_id Many2one → test_orm.monetary_base
    args: 'test_orm.monetary_base'
  • total Monetary
Public methods (0)

No public methods.

New fields (8)
  • line_ids One2many → test_orm.move_line
    domain=[('visible', '=', True)] args: 'test_orm.move_line', 'move_id'
  • payment_amount Integer
    compute='_compute_payment_amount'
  • payment_ids One2many → test_orm.payment
    args: 'test_orm.payment', 'move_id'
  • quantity Integer
    compute='_compute_quantity' store=True
  • tag_id Many2one → test_orm.multi.tag
    args: 'test_orm.multi.tag'
  • tag_name Char
    related='tag_id.name'
  • tag_repeat Integer
  • tag_string Char
    compute='_compute_tag_string'
Public methods (0)

No public methods.

New fields (3)
  • move_id Many2one → test_orm.move
    ondelete='cascade' required=True args: 'test_orm.move'
  • quantity Integer
  • visible Boolean
    default=True
Public methods (0)

No public methods.

New fields (5)
  • lines One2many → test_orm.multi.line
    args: 'test_orm.multi.line', 'multi'
  • name Char
    readonly=True related='partner.name'
  • partner Many2one → res.partner
    args: 'res.partner'
  • partners One2many
    related='partner.child_ids'
  • tags Many2many → test_orm.multi.tag
    domain=[('name', 'ilike', 'a')] args: 'test_orm.multi.tag'
Public methods (0)

No public methods.

New fields (4)
  • multi Many2one → test_orm.multi
    ondelete='cascade' args: 'test_orm.multi'
  • name Char
  • partner Many2one
    related='multi.partner' store=True
  • tags Many2many → test_orm.multi.tag
    args: 'test_orm.multi.tag'
Public methods (0)

No public methods.

New fields (0)

No new fields.

Public methods (0)

No public methods.

New fields (1)
  • name Char
Public methods (0)

No public methods.

New fields (4)
  • bar1 Char
    compute='_compute_bars' inverse='_inverse_bar1' store=True
  • bar2 Char
    compute='_compute_bars' inverse='_inverse_bar23' store=True
  • bar3 Char
    compute='_compute_bars' inverse='_inverse_bar23' store=True
  • foo Char
    default='' required=True
Public methods (0)

No public methods.

New fields (2)
  • line_ids One2many → test_orm.one2many.line
    compute='_compute_line_ids' domain=[('count', '>', 0)] readonly=False store=True args: 'test_orm.one2many.line', 'container_id'
  • name Char
Public methods (0)

No public methods.

New fields (3)
  • container_id Many2one → test_orm.one2many
    required=True args: 'test_orm.one2many'
  • count Integer
    default=1
  • name Char
Public methods (0)

No public methods.

New fields (2)
  • line_ids One2many → test_orm.order.line
    args: 'test_orm.order.line', 'order_id'
  • line_short_field_name Integer
    index=True
Public methods (0)

No public methods.

New fields (7)
  • has_been_rewarded Char
    compute='_compute_has_been_rewarded' store=True
  • order_id Many2one → test_orm.order
    ondelete='cascade' required=True args: 'test_orm.order'
  • product Char
  • reward Boolean
  • short_field_name Integer
    index=True
  • very_very_very_very_very_long_field_name_1 Integer
    index=True
  • very_very_very_very_very_long_field_name_2 Integer
    index=True
Public methods (1)
  • unlink(self)

New fields (1)
  • name Char
    string='Name'
Public methods (0)

No public methods.

New fields (2)
  • amount Integer
  • move_id Many2one → test_orm.move
    ondelete='cascade' required=True args: 'test_orm.move'
Public methods (0)

No public methods.

New fields (5)
  • active Boolean
    default=True
  • birthday Date
  • employer_id Many2one → test_orm.employer
    args: 'test_orm.employer'
  • lesson_ids Many2many → test_orm.lesson
    args: 'test_orm.lesson', 'course_id'
  • name Char
    args: 'Name'
Public methods (0)

No public methods.

New fields (3)
  • activation_date Date
  • login Char
  • person_id Many2one → test_orm.person
    ondelete='cascade' required=True args: 'test_orm.person'
Public methods (0)

No public methods.

New fields (2)
  • name Char
    args: 'Name'
  • ship_ids Many2many → test_orm.ship
    args: 'test_orm.ship', 'test_orm_crew', 'pirate_id', 'ship_id'
Public methods (0)

No public methods.

New fields (8)
  • commercial_id Many2one → res.partner
    compute='_compute_commercial_id' precompute=True store=True args: 'res.partner'
  • line_ids One2many → test_orm.precompute.line
    args: 'test_orm.precompute.line', 'parent_id'
  • lower Char
    compute='_compute_names' precompute=True store=True
  • lowup Char
    compute='_compute_lowup' precompute=True store=True
  • name Char
    required=True
  • partner_id Many2one → res.partner
    args: 'res.partner'
  • size Integer
    compute='_compute_size' precompute=True store=True
  • upper Char
    compute='_compute_names' precompute=True store=True
Public methods (0)

No public methods.

New fields (4)
  • editer Char
    compute='_compute_editer' precompute=True readonly=False store=True
  • name Char
  • reader Char
    compute='_compute_reader' precompute=True store=True
  • setter Char
    compute='_compute_setter' inverse='_inverse_setter' precompute=True store=True
Public methods (0)

No public methods.

New fields (4)
  • bar Char
    compute='_compute_bar' precompute=True readonly=False store=True
  • baz Char
    compute='_compute_baz' precompute=True readonly=False store=True
  • baz2 Char
    compute='_compute_baz2' precompute=True store=True
  • foo Char
Public methods (0)

No public methods.

New fields (3)
  • name Char
    required=True
  • parent_id Many2one → test_orm.precompute
    args: 'test_orm.precompute'
  • size Integer
    compute='_compute_size' precompute=True store=True
Public methods (0)

No public methods.

New fields (2)
  • amount Monetary
    compute='_compute_amount' precompute=True store=True
  • currency_id Many2one → res.currency
    compute='_compute_currency_id' precompute=True store=True args: 'res.currency'
Public methods (0)

No public methods.

New fields (4)
  • bar Char
    compute='_compute_bar' precompute=True readonly=True store=True
  • baz Char
    compute='_compute_baz' precompute=True readonly=False store=True
  • foo Char
  • state Selection
    default='draft' args: [('draft', 'Draft'), ('confirmed', 'Confirmed')]
Public methods (0)

No public methods.

New fields (2)
  • name Char
    precompute=True related='partner_id.name' required=True store=True
  • partner_id Many2one → res.partner
    required=True args: 'res.partner'
Public methods (0)

No public methods.

New fields (11)
  • description Char
    translate=True args: 'Description'
  • gretel Char
    prefetch='Hansel and Gretel' args: 'Gretel'
  • hansel Integer
    prefetch='Hansel and Gretel' args: 'Hansel'
  • harry Integer
    prefetch='Harry Potter' args: 'Harry Potter'
  • hermione Char
    prefetch='Harry Potter' args: 'Hermione Granger'
  • html_description Html
    translate=True args: 'Styled description'
  • line_ids One2many → test_orm.prefetch.line
    args: 'test_orm.prefetch.line', 'prefetch_id'
  • name Char
    translate=True args: 'Name'
  • rare_description Char
    prefetch=False translate=True args: 'Rare Description'
  • rare_html_description Html
    prefetch=False translate=True args: 'Rare Styled description'
  • ron Float
    prefetch='Harry Potter' args: 'Ron Weasley'
Public methods (0)

No public methods.

New fields (2)
  • harry Integer
    related='prefetch_id.harry' store=True
  • prefetch_id Many2one → test_orm.prefetch
    args: 'test_orm.prefetch'
Public methods (0)

No public methods.

New fields (2)
  • name Char
    args: 'Name'
  • ship_ids Many2many → test_orm.ship
    args: 'test_orm.ship', 'test_orm_crew', 'prisoner_id', 'ship_id'
Public methods (0)

No public methods.

New fields (5)
  • context_dependent_name Char
    compute='_compute_context_dependent_name' recursive=True
  • display_name Char
    recursive=True store=True
  • full_name Char
    compute='_compute_full_name' recursive=True
  • name Char
    required=True
  • parent Many2one → test_orm.recursive
    ondelete='cascade' args: 'test_orm.recursive'
Public methods (0)

No public methods.

New fields (3)
  • order_id Many2one → test_orm.recursive.order
    args: 'test_orm.recursive.order'
  • task_ids One2many → test_orm.recursive.task
    args: 'test_orm.recursive.task', 'line_id'
  • task_number Integer
    compute='_compute_task_number' store=True
Public methods (0)

No public methods.

New fields (1)
  • value Integer
Public methods (0)

No public methods.

New fields (2)
  • line_id Many2one → test_orm.recursive.line
    compute='_compute_line_id' recursive=True store=True args: 'test_orm.recursive.line'
  • value Integer
Public methods (0)

No public methods.

New fields (4)
  • children_ids One2many → test_orm.recursive.tree
    args: 'test_orm.recursive.tree', 'parent_id'
  • display_name Char
    recursive=True store=True
  • name Char
    required=True
  • parent_id Many2one → test_orm.recursive.tree
    ondelete='cascade' args: 'test_orm.recursive.tree'
Public methods (0)

No public methods.

New fields (26)
  • foo_bar_id Many2one
    related='foo_id.bar_id' related_sudo=False string='Bar'
  • foo_bar_id_name Char
    related='foo_bar_id.name' related_sudo=False string='Bar Name'
  • foo_bar_ids Many2many
    related='foo_id.bar_ids' related_sudo=False
  • foo_bar_name Char
    related='foo_id.bar_id.name' related_sudo=False args: 'foo_bar_name'
  • foo_bar_name_sudo Char
    related='foo_id.bar_id.name' related_sudo=True args: 'foo_bar_name_sudo'
  • foo_bar_sudo_id Many2one
    related='foo_id.bar_id' related_sudo=True string='Bar Sudo'
  • foo_bar_sudo_id_name Char
    related='foo_bar_sudo_id.name' related_sudo=False string='Bar Sudo Name'
  • foo_bar_sudo_ids Many2many
    related='foo_id.bar_ids' related_sudo=True string='Bars Sudo'
  • foo_binary_att Binary
    related='foo_id.binary_att' related_sudo=False
  • foo_binary_att_sudo Binary
    related='foo_id.binary_att' related_sudo=True string='Binary Att Sudo'
  • foo_binary_bin Binary
    related='foo_id.binary_bin' related_sudo=False
  • foo_binary_bin_sudo Binary
    related='foo_id.binary_bin' related_sudo=True string='Binary Bin Sudo'
  • foo_float_id Float
    related='foo_id.test_float'
  • foo_foo_ids One2many
    related='foo_id.foo_ids' related_sudo=False string='Foo Foos'
  • foo_foo_sudo_ids One2many
    related='foo_id.foo_ids' related_sudo=True string='Foo Foos Sudo'
  • foo_id Many2one → test_orm.related_foo
    args: 'test_orm.related_foo'
  • foo_id_bar_name Char
    related='foo_id.bar_name' related_sudo=False args: 'foo_id_bar_name'
  • foo_ids Many2many → test_orm.related_foo
    string='Foos' args: 'test_orm.related_foo'
  • foo_name Char
    related='foo_id.name' related_sudo=False args: 'foo_name'
  • foo_name_sudo Char
    related='foo_id.name' related_sudo=True args: 'foo_name_sudo'
  • message Many2one → test_orm.message
    args: 'test_orm.message'
  • message_currency Many2one
    related='message.author' string='Message Author'
  • message_name Text
    related='message.body' related_sudo=False string='Message Body'
  • name Char
  • related_name Char
    readonly=False related='name' string='A related on Name'
  • related_related_name Char
    readonly=False related='related_name' string='A related on a related on Name'
Public methods (0)

No public methods.

New fields (2)
  • active Boolean
    default=True
  • name Char
Public methods (0)

No public methods.

New fields (13)
  • bar_alias Many2one
    related='bar_id' string='bar_alias'
  • bar_id Many2one → test_orm.related_bar
    args: 'test_orm.related_bar'
  • bar_ids Many2many → test_orm.related_bar
    string='Bars' args: 'test_orm.related_bar'
  • bar_name Char
    related='bar_id.name' related_sudo=False args: 'bar_name'
  • bar_names Char
    related='bar_ids.name' related_sudo=False string='Bar Names'
  • bar_names_sudo Char
    related='bar_ids.name' related_sudo=True string='Bar Names Sudo'
  • binary_att Binary
  • binary_bin Binary
    attachment=False
  • foo_ids One2many → test_orm.related
    string='Foos' args: 'test_orm.related', 'foo_id'
  • foo_names Char
    related='foo_ids.name' related_sudo=False string='Foo Names'
  • foo_names_sudo Char
    related='foo_ids.name' related_sudo=True string='Foo Names Sudo'
  • name Char
  • test_float Float
    digits='ORM Precision'
Public methods (0)

No public methods.

New fields (1)
  • base_id Many2one → test_orm.related
    ondelete='cascade' required=True args: 'test_orm.related'
Public methods (0)

No public methods.

New fields (2)
  • html Html
    translate=html_translate args: 'HTML'
  • name Char
    translate=True args: 'Name'
Public methods (0)

No public methods.

New fields (6)
  • computed_html Char
    compute='_compute_html' args: 'HTML Computed'
  • computed_name Char
    compute='_compute_name' args: 'Name Computed'
  • html Html
    readonly=False related='related_id.html' args: 'HTML Related'
  • name Char
    readonly=False related='related_id.name' args: 'Name Related'
  • name_en Char
    compute='_compute_name_en' args: 'Name EN'
  • related_id Many2one → test_orm.related_translation_1
    string='Parent Model' args: 'test_orm.related_translation_1'
Public methods (0)

No public methods.

New fields (3)
  • html Html
    readonly=False related='related_id.html' args: 'HTML Related'
  • name Char
    readonly=False related='related_id.name' args: 'Name Related'
  • related_id Many2one → test_orm.related_translation_2
    string='Parent Model' args: 'test_orm.related_translation_2'
Public methods (0)

No public methods.

New fields (2)
  • bar Many2one → res.country
    required=True args: 'res.country'
  • foo Many2one → res.currency
    ondelete='cascade' required=True args: 'res.currency'
Public methods (0)

No public methods.

New fields (2)
  • bar Many2one → res.country
    required=True args: 'res.country'
  • foo Many2one → res.currency
    ondelete='restrict' required=True args: 'res.currency'
Public methods (0)

No public methods.

New fields (2)
  • other Selection
    args: [('foo', 'Foo'), ('bar', 'Bar')]
  • state Selection
    args: [('foo', 'Foo'), ('bar', 'Bar')]
Public methods (0)

No public methods.

New fields (3)
  • end Integer
    compute='_compute_start_end' readonly=False store=True
  • name Char
    compute='_compute_name' readonly=False store=True
  • start Integer
    compute='_compute_start_end' readonly=False store=True
Public methods (0)

No public methods.

New fields (3)
  • name Char
    args: 'Name'
  • pirate_ids Many2many → test_orm.pirate
    args: 'test_orm.pirate', 'test_orm_crew', 'ship_id', 'pirate_id'
  • prisoner_ids Many2many → test_orm.prisoner
    args: 'test_orm.prisoner', 'test_orm_crew', 'ship_id', 'prisoner_id'
Public methods (0)

No public methods.

New fields (1)
  • state Selection
    args: [('draft', 'Draft'), ('confirmed', 'Confirmed'), ('done', 'Done')]
Public methods (0)

No public methods.

New fields (3)
  • member_ids One2many → test_orm.team.member
    args: 'test_orm.team.member', 'team_id'
  • name Char
  • parent_id Many2one → test_orm.team
    args: 'test_orm.team'
Public methods (0)

No public methods.

New fields (3)
  • name Char
    args: 'Name'
  • parent_id Many2one → test_orm.team
    related='team_id.parent_id' args: 'test_orm.team'
  • team_id Many2one → test_orm.team
    args: 'test_orm.team'
Public methods (0)

No public methods.

New fields (0)

No new fields.

Public methods (0)

No public methods.

New fields (2)
  • middle_ids One2many → test_orm.trigger.middle
    args: 'test_orm.trigger.middle', 'left_id'
  • right_id Many2one
    related='middle_ids.right_id' store=True
Public methods (0)

No public methods.

New fields (2)
  • left_id Many2one → test_orm.trigger.left
    required=True args: 'test_orm.trigger.left'
  • right_id Many2one → test_orm.trigger.right
    required=True args: 'test_orm.trigger.right'
Public methods (0)

No public methods.

New fields (2)
  • left_ids One2many → test_orm.trigger.left
    args: 'test_orm.trigger.left', 'right_id'
  • left_size Integer
    compute='_compute_left_size' store=True
Public methods (0)

No public methods.

New fields (4)
  • child_ids One2many → test_orm.unsearchable.o2m
    args: 'test_orm.unsearchable.o2m', 'parent_id'
  • name Char
    args: 'Name'
  • parent_id Many2one → test_orm.unsearchable.o2m
    compute='_compute_parent_id' store=False args: 'test_orm.unsearchable.o2m'
  • stored_parent_id Many2one → test_orm.unsearchable.o2m
    store=True args: 'test_orm.unsearchable.o2m'
Public methods (0)

No public methods.

New fields (3)
  • group_count Integer
    compute='_compute_group_count' store=True
  • group_ids Many2many → test_orm.group
    args: 'test_orm.group'
  • name Char
Public methods (0)

No public methods.

New fields (1)
  • name Char
Public methods (0)

No public methods.

New fields (1)
  • property_eggs Many2one → test_performance.eggs
    company_dependent=True string='Eggs' args: 'test_performance.eggs'
Public methods (0)

No public methods.

New fields (10)
  • computed_value Float
    compute='_computed_value'
  • indirect_computed_value Float
    compute='_indirect_computed_value'
  • line_ids One2many → test_performance.line
    args: 'test_performance.line', 'base_id'
  • name Char
  • partner_id Many2one → res.partner
    string='Customer' args: 'res.partner'
  • tag_ids Many2many → test_performance.tag
    args: 'test_performance.tag'
  • total Integer
    compute='_total' store=True
  • value Integer
    default=0
  • value_ctx Float
    compute='_value_ctx'
  • value_pc Float
    compute='_value_pc' store=True
Public methods (0)

No public methods.

New fields (1)
  • name Char
Public methods (0)

No public methods.

New fields (2)
  • base_id Many2one → test_performance.base
    ondelete='cascade' required=True args: 'test_performance.base'
  • value Integer
Public methods (0)

No public methods.

New fields (3)
  • value Integer
    default=0 required=True
  • value_null_by_default Integer
  • value_plus_one Integer
    compute='_value_plus_one' required=True store=True
Public methods (0)

No public methods.

New fields (4)
  • active Boolean
    default=True
  • child_ids One2many → test_performance.simple.minded
    args: 'test_performance.simple.minded', 'parent_id'
  • name Char
  • parent_id Many2one → test_performance.simple.minded
    args: 'test_performance.simple.minded'
Public methods (0)

No public methods.

New fields (1)
  • name Char
Public methods (0)

No public methods.