| REPOSITORY | |
|---|---|
| REPOSITORY | odoo/odoo |
| GIT | |
| GIT | https://github.com/odoo/odoo.git |
| GIT FOLDER | |
| GIT FOLDER | https://github.com/odoo/odoo/tree/18.0/test_new_api |
| VERSION | |
| VERSION | 1.0 |
| CATEGORY | |
| CATEGORY | Hidden/Tests |
| LICENSE | |
| LICENSE | LGPL-3 |
| APPLICATION | |
| APPLICATION | No |
| AUTO-INSTALLABLE | |
| AUTO-INSTALLABLE | No |
| AUTHORS | |
| AUTHORS | |
| MAINTAINERS | |
| MAINTAINERS | |
| COMMITTERS | |
| COMMITTERS | Raphael Collet, Denis Ledoux, Xavier Morel, Nicolas Lempereur, Aaron Bohy, Lucas Perais (lpe), Yannick Tivisse, Christophe Monniez, Xavier-Do, Julien Mougenot, Vincent Schippefilt, Achraf (abz), Rémy Voet (ryv), Gorash, Florian Charlier, Hubert Van De Walle, Julien Banken, Vincent Larcin, nda, Victor Piryns (pivi), Antoine Dupuis (andu), Antoine (ande), Chong Wang (cwg), Louis (loti), Sven Fuehr, VAN BOSSUYT Nicolas, Pierre Pulinckx (PIPU), Pierre Pulinckx (pipu), Bastien PIERRE, stra, Krzysztof Magusiak (krma), sagu-odoo, Patrick Stooks, adip-odoo, cro, saurabh, gtsog |
| WEBSITE | |
| WEBSITE | |
| LAST TRACKING UPDATE | |
| LAST TRACKING UPDATE | 2026-07-06 01:26:00 |
| 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 API. |
| XML ID | Name | Model | Type | Status |
|---|---|---|---|---|
category_form |
category form view | test_new_api.category | form | New |
category_tree |
category list view | test_new_api.category | list | New |
compute_editable_form |
test_new_api.compute_editable.form | test_new_api.compute_editable | form | New |
discussion_form |
discussion form view | test_new_api.discussion | form | New |
discussion_form_2 |
discussion form view | test_new_api.discussion | form | New |
discussion_form_3 |
discussion form view | test_new_api.discussion | form | New |
message_form |
message form view | test_new_api.message | form | New |
message_tree |
message list view | test_new_api.message | list | New |
model_parent_form |
model parent form view | test_new_api.model_parent_m2o | form | New |
model_shared_cache_compute_parent_view_form |
model_shared_cache_compute_parent_view_form | test_new_api.model_shared_cache_compute_parent | form | New |
multi_form |
multi form view | test_new_api.multi | form | New |
multi_tree |
multi list view | test_new_api.multi | list | New |
view_model2_some_access |
Test attrs and groups_sub | test_new_api.model2.some_access | form | New |
view_model_all_access |
Test attrs and groups | test_new_api.model.all_access | form | New |
view_model_model_active_field_search |
Test Active Search | test_new_api.model_active_field | search | New |
view_model_model_active_field_tree |
Test Active List | test_new_api.model_active_field | list | New |
view_model_no_access |
Test attrs and groups | test_new_api.model.no_access | form | New |
view_model_some_access |
Test attrs and groups | test_new_api.model.some_access | form | New |
view_model_some_access_tree |
Test attrs and groups list | test_new_api.model.some_access | list | New |
float
Float
float_2
Float
digits=(16, 2)
float_4
Float
digits=(16, 4)
No public methods.
bool_false
Boolean
default=False
args: 'b2'
bool_true
Boolean
default=True
args: 'b1'
bool_undefined
Boolean
No public methods.
link_sibling_id
Many2one → test_new_api.any.child
parent_id
Many2one → test_new_api.any.parent
ondelete='cascade'
required=True
args: 'test_new_api.any.parent'
quantity
Integer
tag_ids
Many2many → test_new_api.any.tag
No public methods.
child_ids
One2many → test_new_api.any.child
name
Char
No public methods.
child_ids
Many2many → test_new_api.any.child
name
Char
No public methods.
name
Char
compute='_compute_name'
compute_sudo=True
store=True
res_id
Integer
required=True
res_model
Char
required=True
modified(self, fnames, *args, **kwargs)
attachment_ids
One2many → test_new_api.attachment
auto_join=True
domain=<expr>
args: 'test_new_api.attachment', 'res_id'
No public methods.
foo
Many2one → test_new_api.foo
compute='_compute_foo'
search='_search_foo'
args: 'test_new_api.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'
No public methods.
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
No public methods.
bar
Char
compute='_compute_bar'
baz
Char
compute='_compute_baz'
store=True
foo
Char
No public methods.
color
Integer
depth
Integer
compute='_compute_depth'
discussions
Many2many → test_new_api.discussion
display_name
Char
compute='_compute_display_name'
inverse='_inverse_display_name'
recursive=True
search='_search_display_name'
dummy
Char
store=False
name
Char
required=True
parent
Many2one → test_new_api.category
ondelete='cascade'
args: 'test_new_api.category'
parent_path
Char
index=True
root_categ
Many2one
compute='_compute_root_categ'
args: _name
No public methods.
country_id
Many2one → test_new_api.country
name
Char
No public methods.
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_new_api.multi.tag
company_dependent=True
args: 'test_new_api.multi.tag'
text
Text
company_dependent=True
truth
Boolean
company_dependent=True
No public methods.
bar
Char
compute='_compute_bar'
store=True
company
Many2one → test_new_api.company
quantity
Integer
No public methods.
full_name
Char
compute='_compute_full_name'
name1
Char
name2
Char
name3
Char
No public methods.
bar
Char
compute='_compute_bar'
inverse='_inverse_bar'
store=True
baz
Char
child_ids
One2many → test_new_api.compute.inverse
compute='_compute_child_ids'
inverse='_inverse_child_ids'
store=True
args: 'test_new_api.compute.inverse', 'parent_id'
foo
Char
parent_id
Many2one → test_new_api.compute.inverse
No public methods.
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_new_api.compute.onchange.line
compute='_compute_line_ids'
readonly=False
store=True
args: 'test_new_api.compute.onchange.line', 'record_id'
tag_ids
Many2many → test_new_api.multi.tag
compute='_compute_tag_ids'
readonly=False
store=True
args: 'test_new_api.multi.tag'
copy_data(self, default=None)
bar
Char
compute='_compute_bar'
foo
Char
record_id
Many2one → test_new_api.compute.onchange
ondelete='cascade'
args: 'test_new_api.compute.onchange'
No public methods.
bar
Char
compute='_compute_bar'
store=True
foo
Char
default=''
No public methods.
bar
Char
compute='_compute_bar'
readonly=False
store=True
foo
Char
No public methods.
name_for_uid
Char
compute='_compute_name_for_uid'
compute_sudo=True
No public methods.
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
No public methods.
bar
Integer
foo
Integer
name
Char
sub_bar
Integer
sub_foo
Integer
compute='_compute_sub_foo'
No public methods.
name
Char
No public methods.
author_id
Many2one → test_new_api.person
lesson_ids
One2many → test_new_api.lesson
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
private_field
Char
groups='base.group_no_one'
reference
Reference
selection='_selection_reference_model'
string='reference to lesson'
No public methods.
editions
One2many → test_new_api.creativework.edition
domain=[('res_model', '=', _name)]
args: 'test_new_api.creativework.edition', 'res_id'
name
Char
No public methods.
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'
No public methods.
editions
One2many → test_new_api.creativework.edition
domain=[('res_model', '=', _name)]
args: 'test_new_api.creativework.edition', 'res_id'
name
Char
No public methods.
pirate_id
Many2one → test_new_api.pirate
prisoner_id
Many2one → test_new_api.prisoner
ship_id
Many2one → test_new_api.ship
No public methods.
attributes_definition
PropertiesDefinition
categories
Many2many → test_new_api.category
emails
One2many → test_new_api.emailmessage
history
Json
default={'delete_messages': []}
args: 'History'
important_emails
One2many → test_new_api.emailmessage
domain=[('important', '=', True)]
args: 'test_new_api.emailmessage', 'discussion'
important_messages
One2many → test_new_api.message
domain=[('important', '=', True)]
args: 'test_new_api.message', 'discussion'
message_concat
Text
string='Message concatenate'
messages
One2many → test_new_api.message
copy=True
args: 'test_new_api.message', 'discussion'
moderator
Many2one → 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_new_api.message
domain=<expr>
args: 'test_new_api.message', 'discussion'
No public methods.
display_name
Char
compute='_compute_display_name'
store=True
No public methods.
No new fields.
Public methods (0)No public methods.
active
Boolean
related='message.active'
related_sudo=False
store=True
args: 'Active Message'
email_to
Char
message
Many2one → test_new_api.message
ondelete='cascade'
required=True
args: 'test_new_api.message', 'Message'
No public methods.
all_employee_ids
One2many → test_new_api.person
context={'active_test': False}
args: 'test_new_api.person', 'employer_id'
employee_ids
One2many → test_new_api.person
name
Char
No public methods.
name
Char
No public methods.
number
Integer
No public methods.
pArTneR_321_id
Many2one → res.partner
No public methods.
name
Char
text
Char
trim=False
value1
Integer
change_default=True
value2
Integer
No public methods.
name
Text
index='trigram'
translate=True
args: 'Name trigram'
No public methods.
model_computed_ids
One2many → test_new_api.model_many2one_reference
compute='_compute_model_computed_ids'
string='Models Computed'
args: 'test_new_api.model_many2one_reference'
model_ids
One2many → test_new_api.model_many2one_reference
string='Models'
args: 'test_new_api.model_many2one_reference', 'res_id'
model_ids_count
Integer
compute='_compute_model_ids_count'
args: 'Count'
No public methods.
attendee_ids
Many2many → test_new_api.person
context={'active_test': False}
args: 'test_new_api.person', 'lesson_ids'
course_id
Many2one → test_new_api.course
date
Date
name
Char
teacher_birthdate
Date
related='teacher_id.birthday'
teacher_id
Many2one → test_new_api.person
No public methods.
active
Boolean
default=True
attributes
Properties
definition='discussion.attributes_definition'
string='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_new_api.discussion
ondelete='cascade'
args: 'test_new_api.discussion'
discussion_name
Char
readonly=False
related='discussion.name'
string='Discussion Name'
display_name
Char
compute='_compute_display_name'
string='Abstract'
double_size
Integer
compute='_compute_double_size'
has_important_sibling
Boolean
compute='_compute_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'
write(self, vals)
amount
Monetary
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='New API Precision'
reference
Reference
selection='_reference_models'
string='Related Document'
text
Text
truth
Boolean
No public methods.
No new fields.
Public methods (0)No public methods.
ab
Integer
default=1
cd
Integer
default=1
groups='base.group_portal'
ef
Integer
default=1
action_full(self)
ab
Integer
default=1
cd
Integer
default=1
groups='base.group_portal'
No public methods.
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_new_api.model.all_access
string='m2o g_id'
args: 'test_new_api.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'
No public methods.
g_d
Integer
related='g_id.d'
g_id
Many2one → test_new_api.model.some_access
domain='[("a", "=", g_d)]'
args: 'test_new_api.model.some_access'
No public methods.
xxx_id
Many2one → test_new_api.model2.some_access
xxx_sub_id
Many2one
related='xxx_id.g_id'
No public methods.
a_restricted_b_ids
Many2many → test_new_api.model_b
relation='rel_model_a_model_b_1'
args: 'test_new_api.model_b'
b_restricted_b_ids
Many2many → test_new_api.model_b
ondelete='restrict'
relation='rel_model_a_model_b_2'
args: 'test_new_api.model_b'
name
Char
No public methods.
active
Boolean
default=True
active_children_ids
One2many → test_new_api.model_active_field
context={'active_test': True}
args: 'test_new_api.model_active_field', 'parent_id'
all_children_ids
One2many → test_new_api.model_active_field
context={'active_test': False}
args: 'test_new_api.model_active_field', 'parent_id'
all_relatives_ids
Many2many → test_new_api.model_active_field
context={'active_test': False}
args: 'test_new_api.model_active_field', 'model_active_field_relatives_rel', 'source_id', 'dest_id'
children_ids
One2many → test_new_api.model_active_field
name
Char
parent_active
Boolean
related='parent_id.active'
store=True
string='Active Parent'
parent_id
Many2one → test_new_api.model_active_field
relatives_ids
Many2many → test_new_api.model_active_field
No public methods.
a_restricted_a_ids
Many2many → test_new_api.model_a
ondelete='restrict'
relation='rel_model_a_model_b_1'
args: 'test_new_api.model_a'
b_restricted_a_ids
Many2many → test_new_api.model_a
relation='rel_model_a_model_b_2'
args: 'test_new_api.model_a'
name
Char
No public methods.
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'
No public methods.
company_id
Many2one → res.company
name
Char
parent_id
Many2one → test_new_api.model_parent
check_company=True
string='Parent'
args: 'test_new_api.model_parent'
parent_ids
Many2many → test_new_api.model_parent
check_company=True
string='Parents'
args: 'test_new_api.model_parent'
No public methods.
cost
Integer
compute='_compute_cost'
readonly=False
store=True
name
Char
parent_id
Many2one → test_new_api.model_parent_m2o
ondelete='cascade'
args: 'test_new_api.model_parent_m2o'
size1
Integer
compute='_compute_sizes'
store=True
size2
Integer
compute='_compute_sizes'
store=True
write(self, vals)
company_id
Many2one → res.company
name
Char
parent_id
Many2one → test_new_api.model_parent
check_company=False
args: 'test_new_api.model_parent'
No public methods.
bar
Integer
foo
Char
No public methods.
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
No public methods.
const
Boolean
default=True
res_id
Many2oneReference
model_field='res_model'
args: 'Resource ID'
res_model
Char
No public methods.
company_id
Many2one → res.company
name
Char
No public methods.
child_ids
One2many → test_new_api.model_child_m2o
string='Children'
args: 'test_new_api.model_child_m2o', 'parent_id'
cost
Integer
compute='_compute_cost'
store=True
name
Char
No public methods.
my_selection
Selection
No public methods.
my_selection
Selection
ondelete={'quux': 'set null'}
selection_add=[('quux', 'Quux')]
No public methods.
my_selection
Selection
selection_add=[('ham', 'Ham')]
No public methods.
my_selection
Selection
company_dependent=True
args: [('manual', 'Manual'), ('auto', 'Automatic')]
No public methods.
my_selection
Selection
selection_add=[('semi_auto', 'Semi-Automatic')]
No public methods.
my_selection
Selection
store=False
args: [('foo', 'Foo'), ('bar', 'Bar')]
No public methods.
related_selection
Selection
related='selection_id.my_selection'
selection_id
Many2one → test_new_api.model_selection_base
comodel_name='test_new_api.model_selection_base'
required=True
No public methods.
related_selection
Selection
readonly=False
related='selection_id.my_selection'
selection_id
Many2one → test_new_api.model_selection_base
comodel_name='test_new_api.model_selection_base'
required=True
No public methods.
active
Boolean
default=True
my_selection
Selection
default='foo'
required=True
args: [('foo', 'Foo'), ('bar', 'Bar')]
No public methods.
my_selection
Selection
ondelete={'baz': 'set default'}
selection_add=[('baz', 'Baz')]
No public methods.
my_selection
Selection
ondelete={'eggs': 'cascade'}
selection_add=[('eggs', 'Eggs')]
No public methods.
my_selection
Selection
ondelete={'bacon': 'set bar'}
selection_add=[('bacon', 'Bacon')]
No public methods.
my_selection
Selection
ondelete={'pikachu': 'set default', 'eevee': <expr>}
selection_add=[('pikachu', 'Pikachu'), ('eevee', 'Eevee')]
No public methods.
my_selection
Selection
ondelete={'knickers': <expr>}
selection_add=[('knickers', 'Oh la la')]
No public methods.
my_selection
Selection
default='foo'
required=True
args: [('foo', 'Foo'), ('bar', 'Bar')]
No public methods.
my_selection
Selection
ondelete={'divinity': 'set default'}
selection_add=[('divinity', 'Divinity: Original Sin 2')]
write(self, vals)
amount
Integer
parent_id
Many2one → test_new_api.model_shared_cache_compute_parent
user_id
Many2one → res.users
default=<expr>
args: 'res.users'
No public methods.
line_ids
One2many → test_new_api.model_shared_cache_compute_line
string='Timesheets'
args: 'test_new_api.model_shared_cache_compute_line', 'parent_id'
name
Char
string='Task Name'
total_amount
Integer
compute='_compute_total_amount'
compute_sudo=True
store=True
No public methods.
line_ids
One2many → test_new_api.modified.line
name
Char
total_quantity
Integer
compute='_compute_total_quantity'
No public methods.
child_ids
One2many → test_new_api.modified.line
modified_id
Many2one → test_new_api.modified
modified_name
Char
related='modified_id.name'
parent_id
Many2one → test_new_api.modified.line
price
Float
quantity
Integer
total_price
Float
compute='_compute_total_quantity'
recursive=True
total_price_quantity
Float
compute='_compute_total_price_quantity'
No public methods.
amount
Monetary
currency_field='base_currency_id'
base_currency_id
Many2one → res.currency
No public methods.
monetary_id
Many2one → test_new_api.monetary_base
x_amount
Monetary
related='monetary_id.amount'
x_currency_id
Many2one → res.currency
related='monetary_id.base_currency_id'
args: 'res.currency'
No public methods.
currency_id
Many2one → res.currency
monetary_id
Many2one → test_new_api.monetary_base
ondelete='cascade'
required=True
args: 'test_new_api.monetary_base'
No public methods.
currency_id
Many2one → res.currency
line_ids
One2many → test_new_api.monetary_order_line
total
Monetary
compute='_compute_total'
store=True
No public methods.
order_id
Many2one → test_new_api.monetary_order
ondelete='cascade'
required=True
args: 'test_new_api.monetary_order'
subtotal
Float
digits=(10, 2)
No public methods.
amount
Monetary
related='monetary_id.amount'
currency_id
Many2one → res.currency
related='monetary_id.base_currency_id'
args: 'res.currency'
monetary_id
Many2one → test_new_api.monetary_base
total
Monetary
No public methods.
line_ids
One2many → test_new_api.move_line
domain=[('visible', '=', True)]
args: 'test_new_api.move_line', 'move_id'
payment_ids
One2many → test_new_api.payment
quantity
Integer
compute='_compute_quantity'
store=True
tag_id
Many2one → test_new_api.multi.tag
tag_name
Char
related='tag_id.name'
tag_repeat
Integer
tag_string
Char
compute='_compute_tag_string'
No public methods.
move_id
Many2one → test_new_api.move
ondelete='cascade'
required=True
args: 'test_new_api.move'
quantity
Integer
visible
Boolean
default=True
No public methods.
lines
One2many → test_new_api.multi.line
name
Char
readonly=True
related='partner.name'
partner
Many2one → res.partner
partners
One2many
related='partner.child_ids'
tags
Many2many → test_new_api.multi.tag
domain=[('name', 'ilike', 'a')]
args: 'test_new_api.multi.tag'
No public methods.
multi
Many2one → test_new_api.multi
ondelete='cascade'
args: 'test_new_api.multi'
name
Char
partner
Many2one
related='multi.partner'
store=True
tags
Many2many → test_new_api.multi.tag
No public methods.
No new fields.
Public methods (0)No public methods.
name
Char
No public methods.
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
No public methods.
line_ids
One2many → test_new_api.one2many.line
compute='_compute_line_ids'
domain=[('count', '>', 0)]
readonly=False
store=True
args: 'test_new_api.one2many.line', 'container_id'
name
Char
No public methods.
container_id
Many2one → test_new_api.one2many
required=True
args: 'test_new_api.one2many'
count
Integer
default=1
name
Char
No public methods.
name
Char
string='Name'
No public methods.
move_id
Many2one → test_new_api.move
ondelete='cascade'
required=True
args: 'test_new_api.move'
No public methods.
active
Boolean
default=True
birthday
Date
employer_id
Many2one → test_new_api.employer
lesson_ids
Many2many → test_new_api.lesson
name
Char
No public methods.
activation_date
Date
login
Char
person_id
Many2one → test_new_api.person
ondelete='cascade'
required=True
args: 'test_new_api.person'
No public methods.
name
Char
ship_ids
Many2many → test_new_api.ship
No public methods.
commercial_id
Many2one → res.partner
compute='_compute_commercial_id'
precompute=True
store=True
args: 'res.partner'
line_ids
One2many → test_new_api.precompute.line
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
size
Integer
compute='_compute_size'
precompute=True
store=True
upper
Char
compute='_compute_names'
precompute=True
store=True
No public methods.
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
No public methods.
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
No public methods.
name
Char
required=True
parent_id
Many2one → test_new_api.precompute
size
Integer
compute='_compute_size'
precompute=True
store=True
No public methods.
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'
No public methods.
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')]
No public methods.
name
Char
precompute=True
related='partner_id.name'
required=True
store=True
partner_id
Many2one → res.partner
required=True
args: 'res.partner'
No public methods.
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_new_api.prefetch.line
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'
No public methods.
name
Char
ship_ids
Many2many → test_new_api.ship
No public methods.
context_dependent_name
Char
compute='_compute_context_dependent_name'
recursive=True
display_name
Char
compute='_compute_display_name'
recursive=True
store=True
full_name
Char
compute='_compute_full_name'
recursive=True
name
Char
required=True
parent
Many2one → test_new_api.recursive
ondelete='cascade'
args: 'test_new_api.recursive'
No public methods.
children_ids
One2many → test_new_api.recursive.tree
display_name
Char
compute='_compute_display_name'
recursive=True
store=True
name
Char
required=True
parent_id
Many2one → test_new_api.recursive.tree
ondelete='cascade'
args: 'test_new_api.recursive.tree'
No public methods.
foo_bar_id
Many2one
related='foo_id.bar_id'
related_sudo=False
string='foo_bar_id'
foo_bar_id_name
Char
related='foo_bar_id.name'
related_sudo=False
args: 'foo_bar_id_name'
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='foo_bar_sudo_id'
foo_bar_sudo_id_name
Char
related='foo_bar_sudo_id.name'
related_sudo=False
args: 'foo_bar_sudo_id_name'
foo_float_id
Float
related='foo_id.test_float'
foo_id
Many2one → test_new_api.related_foo
foo_id_bar_name
Char
related='foo_id.bar_name'
related_sudo=False
args: 'foo_id_bar_name'
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_new_api.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'
No public methods.
html
Html
translate=html_translate
args: 'HTML'
name
Char
translate=True
args: 'Name'
No public methods.
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_new_api.related_translation_1
string='Parent Model'
args: 'test_new_api.related_translation_1'
No public methods.
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_new_api.related_translation_2
string='Parent Model'
args: 'test_new_api.related_translation_2'
No public methods.
bar
Many2one → res.country
required=True
args: 'res.country'
foo
Many2one → res.currency
ondelete='cascade'
required=True
args: 'res.currency'
No public methods.
bar
Many2one → res.country
required=True
args: 'res.country'
foo
Many2one → res.currency
ondelete='restrict'
required=True
args: 'res.currency'
No public methods.
other
Selection
state
Selection
No public methods.
name
Char
pirate_ids
Many2many → test_new_api.pirate
prisoner_ids
Many2many → test_new_api.prisoner
No public methods.
state
Selection
No public methods.
member_ids
One2many → test_new_api.team.member
name
Char
parent_id
Many2one → test_new_api.team
No public methods.
name
Char
parent_id
Many2one → test_new_api.team
related='team_id.parent_id'
args: 'test_new_api.team'
team_id
Many2one → test_new_api.team
No public methods.
No new fields.
Public methods (0)No public methods.
middle_ids
One2many → test_new_api.trigger.middle
right_id
Many2one
related='middle_ids.right_id'
store=True
No public methods.
left_id
Many2one → test_new_api.trigger.left
required=True
args: 'test_new_api.trigger.left'
right_id
Many2one → test_new_api.trigger.right
required=True
args: 'test_new_api.trigger.right'
No public methods.
left_ids
One2many → test_new_api.trigger.left
left_size
Integer
compute='_compute_left_size'
store=True
No public methods.
child_ids
One2many → test_new_api.unsearchable.o2m
name
Char
parent_id
Many2one → test_new_api.unsearchable.o2m
compute='_compute_parent_id'
store=False
args: 'test_new_api.unsearchable.o2m'
stored_parent_id
Many2one → test_new_api.unsearchable.o2m
store=True
args: 'test_new_api.unsearchable.o2m'
No public methods.
| XML ID | Name | Model | Type | Status |
|---|---|---|---|---|
category_form |
category form view | test_new_api.category | form | New |
category_tree |
category tree view | test_new_api.category | tree | New |
compute_editable_form |
test_new_api.compute_editable.form | test_new_api.compute_editable | form | New |
discussion_form |
discussion form view | test_new_api.discussion | form | New |
discussion_form_2 |
discussion form view | test_new_api.discussion | form | New |
discussion_form_3 |
discussion form view | test_new_api.discussion | form | New |
message_form |
message form view | test_new_api.message | form | New |
message_tree |
message tree view | test_new_api.message | tree | New |
model_parent_form |
model parent form view | test_new_api.model_parent_m2o | form | New |
model_shared_cache_compute_parent_view_form |
model_shared_cache_compute_parent_view_form | test_new_api.model_shared_cache_compute_parent | form | New |
multi_form |
multi form view | test_new_api.multi | form | New |
multi_tree |
multi tree view | test_new_api.multi | tree | New |
float
Float
float_2
Float
digits=(16, 2)
float_4
Float
digits=(16, 4)
No public methods.
bool_false
Boolean
default=False
args: 'b2'
bool_true
Boolean
default=True
args: 'b1'
bool_undefined
Boolean
No public methods.
link_sibling_id
Many2one → test_new_api.any.child
parent_id
Many2one → test_new_api.any.parent
ondelete='cascade'
required=True
args: 'test_new_api.any.parent'
quantity
Integer
tag_ids
Many2many → test_new_api.any.tag
No public methods.
child_ids
One2many → test_new_api.any.child
name
Char
No public methods.
child_ids
Many2many → test_new_api.any.child
name
Char
No public methods.
name
Char
compute='_compute_name'
compute_sudo=True
store=True
res_id
Integer
required=True
res_model
Char
required=True
modified(self, fnames, *args, **kwargs)
attachment_ids
One2many → test_new_api.attachment
auto_join=True
domain=<expr>
args: 'test_new_api.attachment', 'res_id'
No public methods.
foo
Many2one → test_new_api.foo
compute='_compute_foo'
search='_search_foo'
args: 'test_new_api.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'
No public methods.
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
No public methods.
bar
Char
compute='_compute_bar'
baz
Char
compute='_compute_baz'
store=True
foo
Char
No public methods.
color
Integer
depth
Integer
compute='_compute_depth'
discussions
Many2many → test_new_api.discussion
display_name
Char
compute='_compute_display_name'
inverse='_inverse_display_name'
recursive=True
dummy
Char
store=False
name
Char
required=True
parent
Many2one → test_new_api.category
ondelete='cascade'
args: 'test_new_api.category'
parent_path
Char
index=True
unaccent=False
root_categ
Many2one
compute='_compute_root_categ'
args: _name
No public methods.
country_id
Many2one → test_new_api.country
name
Char
No public methods.
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
phi
Float
company_dependent=True
digits=(2, 5)
tag_id
Many2one → test_new_api.multi.tag
company_dependent=True
args: 'test_new_api.multi.tag'
truth
Boolean
company_dependent=True
No public methods.
bar
Char
compute='_compute_bar'
store=True
company
Many2one → test_new_api.company
quantity
Integer
No public methods.
full_name
Char
compute='_compute_full_name'
name1
Char
name2
Char
name3
Char
No public methods.
bar
Char
compute='_compute_bar'
inverse='_inverse_bar'
store=True
baz
Char
foo
Char
No public methods.
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_new_api.compute.onchange.line
compute='_compute_line_ids'
readonly=False
store=True
args: 'test_new_api.compute.onchange.line', 'record_id'
tag_ids
Many2many → test_new_api.multi.tag
compute='_compute_tag_ids'
readonly=False
store=True
args: 'test_new_api.multi.tag'
copy(self, default=None)
bar
Char
compute='_compute_bar'
foo
Char
record_id
Many2one → test_new_api.compute.onchange
ondelete='cascade'
args: 'test_new_api.compute.onchange'
No public methods.
bar
Char
compute='_compute_bar'
store=True
foo
Char
default=''
No public methods.
bar
Char
compute='_compute_bar'
readonly=False
store=True
foo
Char
No public methods.
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
No public methods.
name
Char
No public methods.
author_id
Many2one → test_new_api.person
lesson_ids
One2many → test_new_api.lesson
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
private_field
Char
groups='base.group_no_one'
reference
Reference
selection='_selection_reference_model'
string='reference to lesson'
No public methods.
editions
One2many → test_new_api.creativework.edition
domain=[('res_model', '=', _name)]
args: 'test_new_api.creativework.edition', 'res_id'
name
Char
No public methods.
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'
No public methods.
editions
One2many → test_new_api.creativework.edition
domain=[('res_model', '=', _name)]
args: 'test_new_api.creativework.edition', 'res_id'
name
Char
No public methods.
pirate_id
Many2one → test_new_api.pirate
prisoner_id
Many2one → test_new_api.prisoner
ship_id
Many2one → test_new_api.ship
No public methods.
attributes_definition
PropertiesDefinition
categories
Many2many → test_new_api.category
emails
One2many → test_new_api.emailmessage
history
Json
default={'delete_messages': []}
args: 'History'
important_emails
One2many → test_new_api.emailmessage
domain=[('important', '=', True)]
args: 'test_new_api.emailmessage', 'discussion'
important_messages
One2many → test_new_api.message
domain=[('important', '=', True)]
args: 'test_new_api.message', 'discussion'
message_concat
Text
string='Message concatenate'
messages
One2many → test_new_api.message
copy=True
args: 'test_new_api.message', 'discussion'
moderator
Many2one → 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_new_api.message
domain=<expr>
args: 'test_new_api.message', 'discussion'
No public methods.
display_name
Char
compute='_compute_display_name'
store=True
No public methods.
No new fields.
Public methods (0)No public methods.
active
Boolean
related='message.active'
related_sudo=False
store=True
args: 'Active Message'
email_to
Char
message
Many2one → test_new_api.message
ondelete='cascade'
required=True
args: 'test_new_api.message', 'Message'
No public methods.
all_employee_ids
One2many → test_new_api.person
context={'active_test': False}
args: 'test_new_api.person', 'employer_id'
employee_ids
One2many → test_new_api.person
name
Char
No public methods.
name
Char
No public methods.
pArTneR_321_id
Many2one → res.partner
No public methods.
name
Char
text
Char
trim=False
value1
Integer
change_default=True
value2
Integer
No public methods.
name
Text
index='trigram'
translate=True
args: 'Name trigram'
No public methods.
model_computed_ids
One2many → test_new_api.model_many2one_reference
compute='_compute_model_computed_ids'
string='Models Computed'
args: 'test_new_api.model_many2one_reference'
model_ids
One2many → test_new_api.model_many2one_reference
string='Models'
args: 'test_new_api.model_many2one_reference', 'res_id'
model_ids_count
Integer
compute='_compute_model_ids_count'
args: 'Count'
No public methods.
attendee_ids
Many2many → test_new_api.person
context={'active_test': False}
args: 'test_new_api.person', 'lesson_ids'
course_id
Many2one → test_new_api.course
date
Date
name
Char
teacher_id
Many2one → test_new_api.person
No public methods.
active
Boolean
default=True
attributes
Properties
definition='discussion.attributes_definition'
string='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_new_api.discussion
ondelete='cascade'
args: 'test_new_api.discussion'
discussion_name
Char
readonly=False
related='discussion.name'
string='Discussion Name'
display_name
Char
compute='_compute_display_name'
string='Abstract'
double_size
Integer
compute='_compute_double_size'
has_important_sibling
Boolean
compute='_compute_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'
write(self, vals)
amount
Monetary
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
currency_id
Many2one → res.currency
default=<expr>
args: 'res.currency'
date
Date
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='New API Precision'
reference
Reference
selection='_reference_models'
string='Related Document'
No public methods.
No new fields.
Public methods (0)No public methods.
a_restricted_b_ids
Many2many → test_new_api.model_b
relation='rel_model_a_model_b_1'
args: 'test_new_api.model_b'
b_restricted_b_ids
Many2many → test_new_api.model_b
ondelete='restrict'
relation='rel_model_a_model_b_2'
args: 'test_new_api.model_b'
name
Char
No public methods.
active
Boolean
default=True
active_children_ids
One2many → test_new_api.model_active_field
context={'active_test': True}
args: 'test_new_api.model_active_field', 'parent_id'
all_children_ids
One2many → test_new_api.model_active_field
context={'active_test': False}
args: 'test_new_api.model_active_field', 'parent_id'
children_ids
One2many → test_new_api.model_active_field
name
Char
parent_active
Boolean
related='parent_id.active'
store=True
string='Active Parent'
parent_id
Many2one → test_new_api.model_active_field
No public methods.
a_restricted_a_ids
Many2many → test_new_api.model_a
ondelete='restrict'
relation='rel_model_a_model_b_1'
args: 'test_new_api.model_a'
b_restricted_a_ids
Many2many → test_new_api.model_a
relation='rel_model_a_model_b_2'
args: 'test_new_api.model_a'
name
Char
No public methods.
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'
No public methods.
company_id
Many2one → res.company
name
Char
parent_id
Many2one → test_new_api.model_parent
check_company=True
string='Parent'
args: 'test_new_api.model_parent'
parent_ids
Many2many → test_new_api.model_parent
check_company=True
string='Parents'
args: 'test_new_api.model_parent'
No public methods.
cost
Integer
compute='_compute_cost'
readonly=False
store=True
name
Char
parent_id
Many2one → test_new_api.model_parent_m2o
ondelete='cascade'
args: 'test_new_api.model_parent_m2o'
size1
Integer
compute='_compute_sizes'
store=True
size2
Integer
compute='_compute_sizes'
store=True
write(self, vals)
company_id
Many2one → res.company
name
Char
parent_id
Many2one → test_new_api.model_parent
check_company=False
args: 'test_new_api.model_parent'
No public methods.
bar
Integer
foo
Char
No public methods.
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
No public methods.
const
Boolean
default=True
res_id
Many2oneReference
model_field='res_model'
args: 'Resource ID'
res_model
Char
No public methods.
company_id
Many2one → res.company
name
Char
No public methods.
child_ids
One2many → test_new_api.model_child_m2o
string='Children'
args: 'test_new_api.model_child_m2o', 'parent_id'
cost
Integer
compute='_compute_cost'
store=True
name
Char
No public methods.
my_selection
Selection
No public methods.
my_selection
Selection
ondelete={'quux': 'set null'}
selection_add=[('quux', 'Quux')]
No public methods.
my_selection
Selection
selection_add=[('ham', 'Ham')]
No public methods.
my_selection
Selection
store=False
args: [('foo', 'Foo'), ('bar', 'Bar')]
No public methods.
related_selection
Selection
related='selection_id.my_selection'
selection_id
Many2one → test_new_api.model_selection_base
comodel_name='test_new_api.model_selection_base'
required=True
No public methods.
related_selection
Selection
readonly=False
related='selection_id.my_selection'
selection_id
Many2one → test_new_api.model_selection_base
comodel_name='test_new_api.model_selection_base'
required=True
No public methods.
active
Boolean
default=True
my_selection
Selection
default='foo'
required=True
args: [('foo', 'Foo'), ('bar', 'Bar')]
No public methods.
my_selection
Selection
ondelete={'baz': 'set default'}
selection_add=[('baz', 'Baz')]
No public methods.
my_selection
Selection
ondelete={'eggs': 'cascade'}
selection_add=[('eggs', 'Eggs')]
No public methods.
my_selection
Selection
ondelete={'bacon': 'set bar'}
selection_add=[('bacon', 'Bacon')]
No public methods.
my_selection
Selection
ondelete={'pikachu': 'set default', 'eevee': <expr>}
selection_add=[('pikachu', 'Pikachu'), ('eevee', 'Eevee')]
No public methods.
my_selection
Selection
ondelete={'knickers': <expr>}
selection_add=[('knickers', 'Oh la la')]
No public methods.
my_selection
Selection
default='foo'
required=True
args: [('foo', 'Foo'), ('bar', 'Bar')]
No public methods.
my_selection
Selection
ondelete={'divinity': 'set default'}
selection_add=[('divinity', 'Divinity: Original Sin 2')]
write(self, vals)
amount
Integer
parent_id
Many2one → test_new_api.model_shared_cache_compute_parent
user_id
Many2one → res.users
default=<expr>
args: 'res.users'
No public methods.
line_ids
One2many → test_new_api.model_shared_cache_compute_line
string='Timesheets'
args: 'test_new_api.model_shared_cache_compute_line', 'parent_id'
name
Char
string='Task Name'
total_amount
Integer
compute='_compute_total_amount'
compute_sudo=True
store=True
No public methods.
line_ids
One2many → test_new_api.modified.line
name
Char
total_quantity
Integer
compute='_compute_total_quantity'
No public methods.
child_ids
One2many → test_new_api.modified.line
modified_id
Many2one → test_new_api.modified
modified_name
Char
related='modified_id.name'
parent_id
Many2one → test_new_api.modified.line
price
Float
quantity
Integer
total_price
Float
compute='_compute_total_quantity'
recursive=True
total_price_quantity
Float
compute='_compute_total_price_quantity'
No public methods.
amount
Monetary
currency_field='base_currency_id'
base_currency_id
Many2one → res.currency
No public methods.
monetary_id
Many2one → test_new_api.monetary_base
x_amount
Monetary
related='monetary_id.amount'
x_currency_id
Many2one → res.currency
related='monetary_id.base_currency_id'
args: 'res.currency'
No public methods.
currency_id
Many2one → res.currency
monetary_id
Many2one → test_new_api.monetary_base
ondelete='cascade'
required=True
args: 'test_new_api.monetary_base'
No public methods.
currency_id
Many2one → res.currency
line_ids
One2many → test_new_api.monetary_order_line
total
Monetary
compute='_compute_total'
store=True
No public methods.
order_id
Many2one → test_new_api.monetary_order
ondelete='cascade'
required=True
args: 'test_new_api.monetary_order'
subtotal
Float
digits=(10, 2)
No public methods.
amount
Monetary
related='monetary_id.amount'
currency_id
Many2one → res.currency
related='monetary_id.base_currency_id'
args: 'res.currency'
monetary_id
Many2one → test_new_api.monetary_base
total
Monetary
No public methods.
line_ids
One2many → test_new_api.move_line
domain=[('visible', '=', True)]
args: 'test_new_api.move_line', 'move_id'
payment_ids
One2many → test_new_api.payment
quantity
Integer
compute='_compute_quantity'
store=True
tag_id
Many2one → test_new_api.multi.tag
tag_name
Char
related='tag_id.name'
tag_repeat
Integer
tag_string
Char
compute='_compute_tag_string'
No public methods.
move_id
Many2one → test_new_api.move
ondelete='cascade'
required=True
args: 'test_new_api.move'
quantity
Integer
visible
Boolean
default=True
No public methods.
lines
One2many → test_new_api.multi.line
name
Char
readonly=True
related='partner.name'
partner
Many2one → res.partner
partners
One2many
related='partner.child_ids'
tags
Many2many → test_new_api.multi.tag
domain=[('name', 'ilike', 'a')]
args: 'test_new_api.multi.tag'
No public methods.
multi
Many2one → test_new_api.multi
ondelete='cascade'
args: 'test_new_api.multi'
name
Char
partner
Many2one
related='multi.partner'
store=True
tags
Many2many → test_new_api.multi.tag
No public methods.
No new fields.
Public methods (0)No public methods.
display_name
Char
compute='_compute_display_name'
name
Char
No public methods.
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
No public methods.
line_ids
One2many → test_new_api.one2many.line
compute='_compute_line_ids'
domain=[('count', '>', 0)]
readonly=False
store=True
args: 'test_new_api.one2many.line', 'container_id'
name
Char
No public methods.
container_id
Many2one → test_new_api.one2many
required=True
args: 'test_new_api.one2many'
count
Integer
default=1
name
Char
No public methods.
name
Char
string='Name'
No public methods.
move_id
Many2one → test_new_api.move
ondelete='cascade'
required=True
args: 'test_new_api.move'
No public methods.
active
Boolean
default=True
employer_id
Many2one → test_new_api.employer
lesson_ids
Many2many → test_new_api.lesson
name
Char
No public methods.
login
Char
person_id
Many2one → test_new_api.person
ondelete='cascade'
required=True
args: 'test_new_api.person'
No public methods.
name
Char
ship_ids
Many2many → test_new_api.ship
No public methods.
commercial_id
Many2one → res.partner
compute='_compute_commercial_id'
precompute=True
store=True
args: 'res.partner'
line_ids
One2many → test_new_api.precompute.line
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
size
Integer
compute='_compute_size'
precompute=True
store=True
upper
Char
compute='_compute_names'
precompute=True
store=True
No public methods.
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
No public methods.
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
No public methods.
name
Char
required=True
parent_id
Many2one → test_new_api.precompute
size
Integer
compute='_compute_size'
precompute=True
store=True
No public methods.
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'
No public methods.
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')]
No public methods.
name
Char
precompute=True
related='partner_id.name'
required=True
store=True
partner_id
Many2one → res.partner
required=True
args: 'res.partner'
No public methods.
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'
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'
No public methods.
name
Char
ship_ids
Many2many → test_new_api.ship
No public methods.
context_dependent_name
Char
compute='_compute_context_dependent_name'
recursive=True
display_name
Char
compute='_compute_display_name'
recursive=True
store=True
full_name
Char
compute='_compute_full_name'
recursive=True
name
Char
required=True
parent
Many2one → test_new_api.recursive
ondelete='cascade'
args: 'test_new_api.recursive'
No public methods.
children_ids
One2many → test_new_api.recursive.tree
display_name
Char
compute='_compute_display_name'
recursive=True
store=True
name
Char
required=True
parent_id
Many2one → test_new_api.recursive.tree
ondelete='cascade'
args: 'test_new_api.recursive.tree'
No public methods.
message
Many2one → test_new_api.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'
No public methods.
html
Html
translate=html_translate
args: 'HTML'
name
Char
translate=True
args: 'Name'
No public methods.
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_new_api.related_translation_1
string='Parent Model'
args: 'test_new_api.related_translation_1'
No public methods.
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_new_api.related_translation_2
string='Parent Model'
args: 'test_new_api.related_translation_2'
No public methods.
bar
Many2one → res.country
required=True
args: 'res.country'
foo
Many2one → res.currency
ondelete='cascade'
required=True
args: 'res.currency'
No public methods.
bar
Many2one → res.country
required=True
args: 'res.country'
foo
Many2one → res.currency
ondelete='restrict'
required=True
args: 'res.currency'
No public methods.
other
Selection
state
Selection
No public methods.
name
Char
pirate_ids
Many2many → test_new_api.pirate
prisoner_ids
Many2many → test_new_api.prisoner
No public methods.
state
Selection
No public methods.
member_ids
One2many → test_new_api.team.member
name
Char
parent_id
Many2one → test_new_api.team
No public methods.
name
Char
parent_id
Many2one → test_new_api.team
related='team_id.parent_id'
args: 'test_new_api.team'
team_id
Many2one → test_new_api.team
No public methods.
No new fields.
Public methods (0)No public methods.
middle_ids
One2many → test_new_api.trigger.middle
right_id
Many2one
related='middle_ids.right_id'
store=True
No public methods.
left_id
Many2one → test_new_api.trigger.left
required=True
args: 'test_new_api.trigger.left'
right_id
Many2one → test_new_api.trigger.right
required=True
args: 'test_new_api.trigger.right'
No public methods.
left_ids
One2many → test_new_api.trigger.left
left_size
Integer
compute='_compute_left_size'
store=True
No public methods.
child_ids
One2many → test_new_api.unsearchable.o2m
name
Char
parent_id
Many2one → test_new_api.unsearchable.o2m
compute='_compute_parent_id'
store=False
args: 'test_new_api.unsearchable.o2m'
stored_parent_id
Many2one → test_new_api.unsearchable.o2m
store=True
args: 'test_new_api.unsearchable.o2m'
No public methods.
| REPOSITORY | |
|---|---|
| REPOSITORY | odoo/odoo |
| GIT | |
| GIT | https://github.com/odoo/odoo.git |
| GIT FOLDER | |
| GIT FOLDER | https://github.com/odoo/odoo/tree/16.0/test_new_api |
| VERSION | |
| VERSION | 1.0 |
| CATEGORY | |
| CATEGORY | Hidden/Tests |
| LICENSE | |
| LICENSE | LGPL-3 |
| APPLICATION | |
| APPLICATION | No |
| AUTO-INSTALLABLE | |
| AUTO-INSTALLABLE | No |
| AUTHORS | |
| AUTHORS | |
| MAINTAINERS | |
| MAINTAINERS | |
| COMMITTERS | |
| COMMITTERS | Raphael Collet, Martin Trigaux, Fabien Pinckaers, Thibault Delavallée, Denis Ledoux, Xavier Morel, Nicolas Lempereur, Géry Debongnie, Jeremy Kersten, Lucas Perais (lpe), Yannick Tivisse, Romain Derie, Christophe Monniez, Jorge Pinna Puissant, Julien Castiaux, Aurélien Warnon, Xavier-Do, Romeo Fragomeli, Victor Feyens, std-odoo, Nasreddin Boulif (bon), Rémy Voet (ryv), Romain Estievenart, william-andre, Florian Charlier, Abdelouahab (abla), gawa-odoo, Julien Banken, Adrien Widart (awt), nda, Tom De Caluwé, Bruno Boi, Michael (mcm), Chong Wang (cwg), Ivan Rasputin, Krzysztof Magusiak (krma) |
| WEBSITE | |
| WEBSITE | |
| LAST TRACKING UPDATE | |
| LAST TRACKING UPDATE | 2026-07-06 00:40:55 |
| 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 API. |
| XML ID | Name | Model | Type | Status |
|---|---|---|---|---|
category_form |
category form view | test_new_api.category | form | New |
category_tree |
category tree view | test_new_api.category | tree | New |
compute_editable_form |
test_new_api.compute_editable.form | test_new_api.compute_editable | form | New |
discussion_form |
discussion form view | test_new_api.discussion | form | New |
discussion_form_2 |
discussion form view | test_new_api.discussion | form | New |
discussion_form_3 |
discussion form view | test_new_api.discussion | form | New |
message_form |
message form view | test_new_api.message | form | New |
message_tree |
message tree view | test_new_api.message | tree | New |
model_parent_form |
model parent form view | test_new_api.model_parent_m2o | form | New |
model_shared_cache_compute_parent_view_form |
model_shared_cache_compute_parent_view_form | test_new_api.model_shared_cache_compute_parent | form | New |
multi_form |
multi form view | test_new_api.multi | form | New |
multi_tree |
multi tree view | test_new_api.multi | tree | New |
float
Float
float_2
Float
digits=(16, 2)
float_4
Float
digits=(16, 4)
No public methods.
bool_false
Boolean
default=False
args: 'b2'
bool_true
Boolean
default=True
args: 'b1'
bool_undefined
Boolean
No public methods.
name
Char
compute='_compute_name'
compute_sudo=True
store=True
res_id
Integer
required=True
res_model
Char
required=True
modified(self, fnames, *args, **kwargs)
attachment_ids
One2many → test_new_api.attachment
auto_join=True
domain=<expr>
args: 'test_new_api.attachment', 'res_id'
No public methods.
foo
Many2one → test_new_api.foo
compute='_compute_foo'
search='_search_foo'
args: 'test_new_api.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'
No public methods.
image_attachment
Binary
attachment=True
image_wo_attachment
Binary
attachment=False
name
Char
required=True
No public methods.
bar
Char
compute='_compute_bar'
baz
Char
compute='_compute_baz'
store=True
foo
Char
No public methods.
color
Integer
depth
Integer
compute='_compute_depth'
discussions
Many2many → test_new_api.discussion
display_name
Char
compute='_compute_display_name'
inverse='_inverse_display_name'
recursive=True
dummy
Char
store=False
name
Char
required=True
parent
Many2one → test_new_api.category
ondelete='cascade'
args: 'test_new_api.category'
parent_path
Char
index=True
unaccent=False
root_categ
Many2one
compute='_compute_root_categ'
args: _name
No public methods.
country_id
Many2one → test_new_api.country
name
Char
No public methods.
count
Integer
company_dependent=True
date
Date
company_dependent=True
foo
Char
company_dependent=True
moment
Datetime
company_dependent=True
phi
Float
company_dependent=True
digits=(2, 5)
tag_id
Many2one → test_new_api.multi.tag
company_dependent=True
args: 'test_new_api.multi.tag'
truth
Boolean
company_dependent=True
No public methods.
bar
Char
compute='_compute_bar'
store=True
company
Many2one → test_new_api.company
quantity
Integer
No public methods.
full_name
Char
compute='_compute_full_name'
name1
Char
name2
Char
name3
Char
No public methods.
bar
Char
compute='_compute_bar'
inverse='_inverse_bar'
store=True
baz
Char
foo
Char
No public methods.
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_new_api.compute.onchange.line
compute='_compute_line_ids'
readonly=False
store=True
args: 'test_new_api.compute.onchange.line', 'record_id'
tag_ids
Many2many → test_new_api.multi.tag
compute='_compute_tag_ids'
readonly=False
store=True
args: 'test_new_api.multi.tag'
copy(self, default=None)
bar
Char
compute='_compute_bar'
foo
Char
record_id
Many2one → test_new_api.compute.onchange
ondelete='cascade'
args: 'test_new_api.compute.onchange'
No public methods.
bar
Char
compute='_compute_bar'
store=True
foo
Char
default=''
No public methods.
bar
Char
compute='_compute_bar'
readonly=False
store=True
foo
Char
No public methods.
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
No public methods.
name
Char
No public methods.
editions
One2many → test_new_api.creativework.edition
domain=[('res_model', '=', _name)]
args: 'test_new_api.creativework.edition', 'res_id'
name
Char
No public methods.
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'
No public methods.
editions
One2many → test_new_api.creativework.edition
domain=[('res_model', '=', _name)]
args: 'test_new_api.creativework.edition', 'res_id'
name
Char
No public methods.
pirate_id
Many2one → test_new_api.pirate
prisoner_id
Many2one → test_new_api.prisoner
ship_id
Many2one → test_new_api.ship
No public methods.
attributes_definition
PropertiesDefinition
categories
Many2many → test_new_api.category
emails
One2many → test_new_api.emailmessage
history
Json
default={'delete_messages': []}
args: 'History'
important_emails
One2many → test_new_api.emailmessage
domain=[('important', '=', True)]
args: 'test_new_api.emailmessage', 'discussion'
important_messages
One2many → test_new_api.message
domain=[('important', '=', True)]
args: 'test_new_api.message', 'discussion'
message_concat
Text
string='Message concatenate'
messages
One2many → test_new_api.message
copy=True
args: 'test_new_api.message', 'discussion'
moderator
Many2one → 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_new_api.message
domain=<expr>
args: 'test_new_api.message', 'discussion'
No public methods.
display_name
Char
compute='_compute_display_name'
store=True
No public methods.
No new fields.
Public methods (0)No public methods.
active
Boolean
related='message.active'
related_sudo=False
store=True
args: 'Active Message'
email_to
Char
message
Many2one → test_new_api.message
ondelete='cascade'
required=True
args: 'test_new_api.message', 'Message'
No public methods.
name
Char
No public methods.
pArTneR_321_id
Many2one → res.partner
No public methods.
name
Char
text
Char
trim=False
value1
Integer
change_default=True
value2
Integer
No public methods.
name
Text
index='trigram'
translate=True
args: 'Name trigram'
No public methods.
model_computed_ids
One2many → test_new_api.model_many2one_reference
compute='_compute_model_computed_ids'
string='Models Computed'
args: 'test_new_api.model_many2one_reference'
model_ids
One2many → test_new_api.model_many2one_reference
string='Models'
args: 'test_new_api.model_many2one_reference', 'res_id'
model_ids_count
Integer
compute='_compute_model_ids_count'
args: 'Count'
No public methods.
active
Boolean
default=True
attributes
Properties
definition='discussion.attributes_definition'
string='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
discussion
Many2one → test_new_api.discussion
ondelete='cascade'
args: 'test_new_api.discussion'
discussion_name
Char
readonly=False
related='discussion.name'
string='Discussion Name'
display_name
Char
compute='_compute_display_name'
string='Abstract'
double_size
Integer
compute='_compute_double_size'
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'
write(self, vals)
amount
Monetary
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
currency_id
Many2one → res.currency
default=<expr>
args: 'res.currency'
date
Date
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='New API Precision'
reference
Reference
selection='_reference_models'
string='Related Document'
No public methods.
No new fields.
Public methods (0)No public methods.
a_restricted_b_ids
Many2many → test_new_api.model_b
relation='rel_model_a_model_b_1'
args: 'test_new_api.model_b'
b_restricted_b_ids
Many2many → test_new_api.model_b
ondelete='restrict'
relation='rel_model_a_model_b_2'
args: 'test_new_api.model_b'
name
Char
No public methods.
active
Boolean
default=True
active_children_ids
One2many → test_new_api.model_active_field
context={'active_test': True}
args: 'test_new_api.model_active_field', 'parent_id'
all_children_ids
One2many → test_new_api.model_active_field
context={'active_test': False}
args: 'test_new_api.model_active_field', 'parent_id'
children_ids
One2many → test_new_api.model_active_field
name
Char
parent_active
Boolean
related='parent_id.active'
store=True
string='Active Parent'
parent_id
Many2one → test_new_api.model_active_field
No public methods.
a_restricted_a_ids
Many2many → test_new_api.model_a
ondelete='restrict'
relation='rel_model_a_model_b_1'
args: 'test_new_api.model_a'
b_restricted_a_ids
Many2many → test_new_api.model_a
relation='rel_model_a_model_b_2'
args: 'test_new_api.model_a'
name
Char
No public methods.
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'
No public methods.
company_id
Many2one → res.company
required=True
args: 'res.company'
name
Char
parent_id
Many2one → test_new_api.model_parent
check_company=True
args: 'test_new_api.model_parent'
No public methods.
cost
Integer
compute='_compute_cost'
readonly=False
store=True
name
Char
parent_id
Many2one → test_new_api.model_parent_m2o
ondelete='cascade'
args: 'test_new_api.model_parent_m2o'
size1
Integer
compute='_compute_sizes'
store=True
size2
Integer
compute='_compute_sizes'
store=True
write(self, vals)
company_id
Many2one → res.company
required=True
args: 'res.company'
name
Char
parent_id
Many2one → test_new_api.model_parent
check_company=False
args: 'test_new_api.model_parent'
No public methods.
bar
Integer
foo
Char
No public methods.
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'
name
Char
required=True
No public methods.
const
Boolean
default=True
res_id
Many2oneReference
model_field='res_model'
args: 'Resource ID'
res_model
Char
No public methods.
company_id
Many2one → res.company
required=True
args: 'res.company'
name
Char
No public methods.
child_ids
One2many → test_new_api.model_child_m2o
string='Children'
args: 'test_new_api.model_child_m2o', 'parent_id'
cost
Integer
compute='_compute_cost'
store=True
name
Char
No public methods.
address_id
Many2one → res.partner
check_company=True
args: 'res.partner'
company_id
Many2one → res.company
required=True
args: 'res.company'
name
Char
No public methods.
my_selection
Selection
No public methods.
my_selection
Selection
ondelete={'quux': 'set null'}
selection_add=[('quux', 'Quux')]
No public methods.
my_selection
Selection
selection_add=[('ham', 'Ham')]
No public methods.
my_selection
Selection
store=False
args: [('foo', 'Foo'), ('bar', 'Bar')]
No public methods.
related_selection
Selection
related='selection_id.my_selection'
selection_id
Many2one → test_new_api.model_selection_base
comodel_name='test_new_api.model_selection_base'
required=True
No public methods.
related_selection
Selection
readonly=False
related='selection_id.my_selection'
selection_id
Many2one → test_new_api.model_selection_base
comodel_name='test_new_api.model_selection_base'
required=True
No public methods.
active
Boolean
default=True
my_selection
Selection
default='foo'
required=True
args: [('foo', 'Foo'), ('bar', 'Bar')]
No public methods.
my_selection
Selection
ondelete={'baz': 'set default'}
selection_add=[('baz', 'Baz')]
No public methods.
my_selection
Selection
ondelete={'eggs': 'cascade'}
selection_add=[('eggs', 'Eggs')]
No public methods.
my_selection
Selection
ondelete={'bacon': 'set bar'}
selection_add=[('bacon', 'Bacon')]
No public methods.
my_selection
Selection
ondelete={'pikachu': 'set default', 'eevee': <expr>}
selection_add=[('pikachu', 'Pikachu'), ('eevee', 'Eevee')]
No public methods.
my_selection
Selection
ondelete={'knickers': <expr>}
selection_add=[('knickers', 'Oh la la')]
No public methods.
my_selection
Selection
default='foo'
required=True
args: [('foo', 'Foo'), ('bar', 'Bar')]
No public methods.
my_selection
Selection
ondelete={'divinity': 'set default'}
selection_add=[('divinity', 'Divinity: Original Sin 2')]
write(self, vals)
amount
Integer
parent_id
Many2one → test_new_api.model_shared_cache_compute_parent
user_id
Many2one → res.users
default=<expr>
args: 'res.users'
No public methods.
line_ids
One2many → test_new_api.model_shared_cache_compute_line
string='Timesheets'
args: 'test_new_api.model_shared_cache_compute_line', 'parent_id'
name
Char
string='Task Name'
total_amount
Integer
compute='_compute_total_amount'
compute_sudo=True
store=True
No public methods.
line_ids
One2many → test_new_api.modified.line
name
Char
total_quantity
Integer
compute='_compute_total_quantity'
No public methods.
child_ids
One2many → test_new_api.modified.line
modified_id
Many2one → test_new_api.modified
modified_name
Char
related='modified_id.name'
parent_id
Many2one → test_new_api.modified.line
price
Float
quantity
Integer
total_price
Float
compute='_compute_total_quantity'
recursive=True
total_price_quantity
Float
compute='_compute_total_price_quantity'
No public methods.
amount
Monetary
currency_field='base_currency_id'
base_currency_id
Many2one → res.currency
No public methods.
monetary_id
Many2one → test_new_api.monetary_base
x_amount
Monetary
related='monetary_id.amount'
x_currency_id
Many2one → res.currency
related='monetary_id.base_currency_id'
args: 'res.currency'
No public methods.
currency_id
Many2one → res.currency
monetary_id
Many2one → test_new_api.monetary_base
ondelete='cascade'
required=True
args: 'test_new_api.monetary_base'
No public methods.
currency_id
Many2one → res.currency
line_ids
One2many → test_new_api.monetary_order_line
total
Monetary
compute='_compute_total'
store=True
No public methods.
order_id
Many2one → test_new_api.monetary_order
ondelete='cascade'
required=True
args: 'test_new_api.monetary_order'
subtotal
Float
digits=(10, 2)
No public methods.
amount
Monetary
related='monetary_id.amount'
currency_id
Many2one → res.currency
related='monetary_id.base_currency_id'
args: 'res.currency'
monetary_id
Many2one → test_new_api.monetary_base
total
Monetary
No public methods.
line_ids
One2many → test_new_api.move_line
domain=[('visible', '=', True)]
args: 'test_new_api.move_line', 'move_id'
payment_ids
One2many → test_new_api.payment
quantity
Integer
compute='_compute_quantity'
store=True
tag_id
Many2one → test_new_api.multi.tag
tag_name
Char
related='tag_id.name'
tag_repeat
Integer
tag_string
Char
compute='_compute_tag_string'
No public methods.
move_id
Many2one → test_new_api.move
ondelete='cascade'
required=True
args: 'test_new_api.move'
quantity
Integer
visible
Boolean
default=True
No public methods.
lines
One2many → test_new_api.multi.line
name
Char
readonly=True
related='partner.name'
partner
Many2one → res.partner
partners
One2many
related='partner.child_ids'
tags
Many2many → test_new_api.multi.tag
domain=[('name', 'ilike', 'a')]
args: 'test_new_api.multi.tag'
No public methods.
multi
Many2one → test_new_api.multi
ondelete='cascade'
args: 'test_new_api.multi'
name
Char
partner
Many2one
related='multi.partner'
store=True
tags
Many2many → test_new_api.multi.tag
No public methods.
No new fields.
Public methods (0)No public methods.
name
Char
No public methods.
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
No public methods.
line_ids
One2many → test_new_api.one2many.line
compute='_compute_line_ids'
domain=[('count', '>', 0)]
readonly=False
store=True
args: 'test_new_api.one2many.line', 'container_id'
name
Char
No public methods.
container_id
Many2one → test_new_api.one2many
required=True
args: 'test_new_api.one2many'
count
Integer
default=1
name
Char
No public methods.
name
Char
string='Name'
No public methods.
move_id
Many2one → test_new_api.move
ondelete='cascade'
required=True
args: 'test_new_api.move'
No public methods.
name
Char
ship_ids
Many2many → test_new_api.ship
No public methods.
commercial_id
Many2one → res.partner
compute='_compute_commercial_id'
precompute=True
store=True
args: 'res.partner'
line_ids
One2many → test_new_api.precompute.line
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
size
Integer
compute='_compute_size'
precompute=True
store=True
upper
Char
compute='_compute_names'
precompute=True
store=True
No public methods.
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
No public methods.
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
No public methods.
name
Char
required=True
parent_id
Many2one → test_new_api.precompute
size
Integer
compute='_compute_size'
precompute=True
store=True
No public methods.
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'
No public methods.
bar
Char
compute='_compute_bar'
precompute=True
readonly=True
store=True
baz
Char
compute='_compute_baz'
precompute=True
readonly=True
states={'draft': [('readonly', False)]}
store=True
foo
Char
state
Selection
default='draft'
args: [('draft', 'Draft'), ('confirmed', 'Confirmed')]
No public methods.
name
Char
precompute=True
related='partner_id.name'
required=True
store=True
partner_id
Many2one → res.partner
required=True
args: 'res.partner'
No public methods.
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'
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'
No public methods.
name
Char
ship_ids
Many2many → test_new_api.ship
No public methods.
context_dependent_name
Char
compute='_compute_context_dependent_name'
recursive=True
display_name
Char
compute='_compute_display_name'
recursive=True
store=True
full_name
Char
compute='_compute_full_name'
recursive=True
name
Char
required=True
parent
Many2one → test_new_api.recursive
ondelete='cascade'
args: 'test_new_api.recursive'
No public methods.
children_ids
One2many → test_new_api.recursive.tree
display_name
Char
compute='_compute_display_name'
recursive=True
store=True
name
Char
required=True
parent_id
Many2one → test_new_api.recursive.tree
ondelete='cascade'
args: 'test_new_api.recursive.tree'
No public methods.
message
Many2one → test_new_api.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'
No public methods.
html
Html
translate=html_translate
args: 'HTML'
name
Char
translate=True
args: 'Name'
No public methods.
computed_html
Char
compute='_compute_html'
args: 'HTML Computed'
computed_name
Char
compute='_compute_name'
args: 'Name Computed'
html
Html
readonly=False
related='parent_id.html'
args: 'HTML Related'
name
Char
readonly=False
related='parent_id.name'
args: 'Name Related'
parent_id
Many2one → test_new_api.related_translation_1
string='Parent Model'
args: 'test_new_api.related_translation_1'
No public methods.
html
Html
readonly=False
related='parent_id.html'
args: 'HTML Related'
name
Char
readonly=False
related='parent_id.name'
args: 'Name Related'
parent_id
Many2one → test_new_api.related_translation_2
string='Parent Model'
args: 'test_new_api.related_translation_2'
No public methods.
bar
Many2one → res.country
required=True
args: 'res.country'
foo
Many2one → res.currency
ondelete='cascade'
required=True
args: 'res.currency'
No public methods.
bar
Many2one → res.country
required=True
args: 'res.country'
foo
Many2one → res.currency
ondelete='restrict'
required=True
args: 'res.currency'
No public methods.
other
Selection
state
Selection
No public methods.
name
Char
pirate_ids
Many2many → test_new_api.pirate
prisoner_ids
Many2many → test_new_api.prisoner
No public methods.
state
Selection
No public methods.
member_ids
One2many → test_new_api.team.member
name
Char
parent_id
Many2one → test_new_api.team
No public methods.
name
Char
parent_id
Many2one → test_new_api.team
related='team_id.parent_id'
args: 'test_new_api.team'
team_id
Many2one → test_new_api.team
No public methods.
middle_ids
One2many → test_new_api.trigger.middle
right_id
Many2one
related='middle_ids.right_id'
store=True
No public methods.
left_id
Many2one → test_new_api.trigger.left
required=True
args: 'test_new_api.trigger.left'
right_id
Many2one → test_new_api.trigger.right
required=True
args: 'test_new_api.trigger.right'
No public methods.
left_ids
One2many → test_new_api.trigger.left
left_size
Integer
compute='_compute_left_size'
store=True
No public methods.
name
Char
translate=True
args: 'Name'
No public methods.
container_id
Many2one → test_new_api.unlink.container
container_name
Char
related='container_id.name'
store=True
args: 'Container Name'
No public methods.
child_ids
One2many → test_new_api.unsearchable.o2m
name
Char
parent_id
Many2one → test_new_api.unsearchable.o2m
compute='_compute_parent_id'
store=False
args: 'test_new_api.unsearchable.o2m'
stored_parent_id
Many2one → test_new_api.unsearchable.o2m
store=True
args: 'test_new_api.unsearchable.o2m'
No public methods.
| REPOSITORY | |
|---|---|
| REPOSITORY | odoo/odoo |
| GIT | |
| GIT | https://github.com/odoo/odoo.git |
| GIT FOLDER | |
| GIT FOLDER | https://github.com/odoo/odoo/tree/15.0/test_new_api |
| VERSION | |
| VERSION | 1.0 |
| CATEGORY | |
| CATEGORY | Hidden/Tests |
| LICENSE | |
| LICENSE | LGPL-3 |
| APPLICATION | |
| APPLICATION | No |
| AUTO-INSTALLABLE | |
| AUTO-INSTALLABLE | No |
| AUTHORS | |
| AUTHORS | |
| MAINTAINERS | |
| MAINTAINERS | |
| COMMITTERS | |
| COMMITTERS | Raphael Collet, Martin Trigaux, Denis Ledoux, Nicolas Lempereur, Aaron Bohy, Jeremy Kersten, Yannick Tivisse, Christophe Monniez, Adrian Torres, Xavier-Do, Julien Mougenot, svs-odoo, Nasreddin Boulif (bon), william-andre, Michael Mattiello (mcm), Adrien Widart (awt), Bruno Boi, Ivan Rasputin |
| WEBSITE | |
| WEBSITE | |
| LAST TRACKING UPDATE | |
| LAST TRACKING UPDATE | 2026-07-06 00:25:30 |
| 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 API. |
| XML ID | Name | Model | Type | Status |
|---|---|---|---|---|
category_form |
category form view | test_new_api.category | form | New |
category_tree |
category tree view | test_new_api.category | tree | New |
compute_editable_form |
test_new_api.compute_editable.form | test_new_api.compute_editable | form | New |
discussion_form |
discussion form view | test_new_api.discussion | form | New |
discussion_form_2 |
discussion form view | test_new_api.discussion | form | New |
discussion_form_3 |
discussion form view | test_new_api.discussion | form | New |
message_form |
message form view | test_new_api.message | form | New |
message_tree |
message tree view | test_new_api.message | tree | New |
model_parent_form |
model parent form view | test_new_api.model_parent_m2o | form | New |
model_shared_cache_compute_parent_view_form |
model_shared_cache_compute_parent_view_form | test_new_api.model_shared_cache_compute_parent | form | New |
multi_form |
multi form view | test_new_api.multi | form | New |
multi_tree |
multi tree view | test_new_api.multi | tree | New |
float
Float
float_2
Float
digits=(16, 2)
float_4
Float
digits=(16, 4)
No public methods.
bool_false
Boolean
default=False
args: 'b2'
bool_true
Boolean
default=True
args: 'b1'
bool_undefined
Boolean
No public methods.
name
Char
compute='_compute_name'
compute_sudo=True
store=True
res_id
Integer
required=True
res_model
Char
required=True
modified(self, fnames, *args, **kwargs)
attachment_ids
One2many → test_new_api.attachment
auto_join=True
domain=<expr>
args: 'test_new_api.attachment', 'res_id'
No public methods.
foo
Many2one → test_new_api.foo
compute='_compute_foo'
search='_search_foo'
args: 'test_new_api.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'
No public methods.
image_attachment
Binary
attachment=True
image_wo_attachment
Binary
attachment=False
name
Char
required=True
No public methods.
bar
Char
compute='_compute_bar'
baz
Char
compute='_compute_baz'
store=True
foo
Char
No public methods.
color
Integer
depth
Integer
compute='_compute_depth'
discussions
Many2many → test_new_api.discussion
display_name
Char
compute='_compute_display_name'
inverse='_inverse_display_name'
recursive=True
dummy
Char
store=False
name
Char
required=True
parent
Many2one → test_new_api.category
ondelete='cascade'
args: 'test_new_api.category'
parent_path
Char
index=True
root_categ
Many2one
compute='_compute_root_categ'
args: _name
No public methods.
country_id
Many2one → test_new_api.country
name
Char
No public methods.
count
Integer
company_dependent=True
date
Date
company_dependent=True
foo
Char
company_dependent=True
moment
Datetime
company_dependent=True
phi
Float
company_dependent=True
digits=(2, 5)
tag_id
Many2one → test_new_api.multi.tag
company_dependent=True
args: 'test_new_api.multi.tag'
truth
Boolean
company_dependent=True
No public methods.
bar
Char
compute='_compute_bar'
store=True
company
Many2one → test_new_api.company
quantity
Integer
No public methods.
full_name
Char
compute='_compute_full_name'
name1
Char
name2
Char
name3
Char
No public methods.
bar
Char
compute='_compute_bar'
inverse='_inverse_bar'
store=True
baz
Char
foo
Char
No public methods.
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_new_api.compute.onchange.line
compute='_compute_line_ids'
readonly=False
store=True
args: 'test_new_api.compute.onchange.line', 'record_id'
tag_ids
Many2many → test_new_api.multi.tag
compute='_compute_tag_ids'
readonly=False
store=True
args: 'test_new_api.multi.tag'
copy(self, default=None)
bar
Char
compute='_compute_bar'
foo
Char
record_id
Many2one → test_new_api.compute.onchange
ondelete='cascade'
args: 'test_new_api.compute.onchange'
No public methods.
bar
Char
compute='_compute_bar'
store=True
foo
Char
default=''
No public methods.
bar
Char
compute='_compute_bar'
readonly=False
store=True
foo
Char
No public methods.
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
No public methods.
name
Char
No public methods.
editions
One2many → test_new_api.creativework.edition
domain=[('res_model', '=', _name)]
args: 'test_new_api.creativework.edition', 'res_id'
name
Char
No public methods.
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'
No public methods.
editions
One2many → test_new_api.creativework.edition
domain=[('res_model', '=', _name)]
args: 'test_new_api.creativework.edition', 'res_id'
name
Char
No public methods.
pirate_id
Many2one → test_new_api.pirate
prisoner_id
Many2one → test_new_api.prisoner
ship_id
Many2one → test_new_api.ship
No public methods.
categories
Many2many → test_new_api.category
emails
One2many → test_new_api.emailmessage
important_emails
One2many → test_new_api.emailmessage
domain=[('important', '=', True)]
args: 'test_new_api.emailmessage', 'discussion'
important_messages
One2many → test_new_api.message
domain=[('important', '=', True)]
args: 'test_new_api.message', 'discussion'
message_concat
Text
string='Message concatenate'
messages
One2many → test_new_api.message
copy=True
args: 'test_new_api.message', 'discussion'
moderator
Many2one → res.users
name
Char
help='General description of what this discussion is about.'
required=True
string='Title'
participants
Many2many → res.users
context={'active_test': False}
args: 'res.users'
very_important_messages
One2many → test_new_api.message
domain=<expr>
args: 'test_new_api.message', 'discussion'
No public methods.
display_name
Char
compute='_compute_display_name'
store=True
No public methods.
No new fields.
Public methods (0)No public methods.
email_to
Char
message
Many2one → test_new_api.message
ondelete='cascade'
required=True
args: 'test_new_api.message', 'Message'
No public methods.
pArTneR_321_id
Many2one → res.partner
No public methods.
name
Char
text
Char
trim=False
value1
Integer
change_default=True
value2
Integer
No public methods.
model_ids
One2many → test_new_api.model_many2one_reference
string='Models'
args: 'test_new_api.model_many2one_reference', 'res_id'
model_ids_count
Integer
compute='_compute_model_ids_count'
args: 'Count'
No public methods.
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
discussion
Many2one → test_new_api.discussion
ondelete='cascade'
args: 'test_new_api.discussion'
discussion_name
Char
readonly=False
related='discussion.name'
string='Discussion Name'
display_name
Char
compute='_compute_display_name'
string='Abstract'
double_size
Integer
compute='_compute_double_size'
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'
write(self, vals)
amount
Monetary
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
currency_id
Many2one → res.currency
default=<expr>
args: 'res.currency'
date
Date
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='New API Precision'
reference
Reference
selection='_reference_models'
string='Related Document'
No public methods.
No new fields.
Public methods (0)No public methods.
a_restricted_b_ids
Many2many → test_new_api.model_b
relation='rel_model_a_model_b_1'
args: 'test_new_api.model_b'
b_restricted_b_ids
Many2many → test_new_api.model_b
ondelete='restrict'
relation='rel_model_a_model_b_2'
args: 'test_new_api.model_b'
name
Char
No public methods.
active
Boolean
default=True
active_children_ids
One2many → test_new_api.model_active_field
context={'active_test': True}
args: 'test_new_api.model_active_field', 'parent_id'
all_children_ids
One2many → test_new_api.model_active_field
context={'active_test': False}
args: 'test_new_api.model_active_field', 'parent_id'
children_ids
One2many → test_new_api.model_active_field
name
Char
parent_active
Boolean
related='parent_id.active'
store=True
string='Active Parent'
parent_id
Many2one → test_new_api.model_active_field
No public methods.
a_restricted_a_ids
Many2many → test_new_api.model_a
ondelete='restrict'
relation='rel_model_a_model_b_1'
args: 'test_new_api.model_a'
b_restricted_a_ids
Many2many → test_new_api.model_a
relation='rel_model_a_model_b_2'
args: 'test_new_api.model_a'
name
Char
No public methods.
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'
No public methods.
company_id
Many2one → res.company
required=True
args: 'res.company'
name
Char
parent_id
Many2one → test_new_api.model_parent
check_company=True
args: 'test_new_api.model_parent'
No public methods.
cost
Integer
compute='_compute_cost'
readonly=False
store=True
name
Char
parent_id
Many2one → test_new_api.model_parent_m2o
ondelete='cascade'
args: 'test_new_api.model_parent_m2o'
size1
Integer
compute='_compute_sizes'
store=True
size2
Integer
compute='_compute_sizes'
store=True
write(self, vals)
company_id
Many2one → res.company
required=True
args: 'res.company'
name
Char
parent_id
Many2one → test_new_api.model_parent
check_company=False
args: 'test_new_api.model_parent'
No public methods.
bar
Integer
foo
Char
No public methods.
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'
name
Char
required=True
No public methods.
res_id
Many2oneReference
model_field='res_model'
args: 'Resource ID'
res_model
Char
No public methods.
company_id
Many2one → res.company
required=True
args: 'res.company'
name
Char
No public methods.
child_ids
One2many → test_new_api.model_child_m2o
string='Children'
args: 'test_new_api.model_child_m2o', 'parent_id'
cost
Integer
compute='_compute_cost'
store=True
name
Char
No public methods.
address_id
Many2one → res.partner
check_company=True
args: 'res.partner'
company_id
Many2one → res.company
required=True
args: 'res.company'
name
Char
No public methods.
my_selection
Selection
No public methods.
my_selection
Selection
ondelete={'quux': 'set null'}
selection_add=[('quux', 'Quux')]
No public methods.
my_selection
Selection
selection_add=[('ham', 'Ham')]
No public methods.
my_selection
Selection
store=False
args: [('foo', 'Foo'), ('bar', 'Bar')]
No public methods.
active
Boolean
default=True
my_selection
Selection
default='foo'
required=True
args: [('foo', 'Foo'), ('bar', 'Bar')]
No public methods.
my_selection
Selection
ondelete={'baz': 'set default'}
selection_add=[('baz', 'Baz')]
No public methods.
my_selection
Selection
ondelete={'eggs': 'cascade'}
selection_add=[('eggs', 'Eggs')]
No public methods.
my_selection
Selection
ondelete={'bacon': 'set bar'}
selection_add=[('bacon', 'Bacon')]
No public methods.
my_selection
Selection
ondelete={'pikachu': 'set default', 'eevee': <expr>}
selection_add=[('pikachu', 'Pikachu'), ('eevee', 'Eevee')]
No public methods.
my_selection
Selection
ondelete={'knickers': <expr>}
selection_add=[('knickers', 'Oh la la')]
No public methods.
my_selection
Selection
default='foo'
required=True
args: [('foo', 'Foo'), ('bar', 'Bar')]
No public methods.
my_selection
Selection
ondelete={'divinity': 'set default'}
selection_add=[('divinity', 'Divinity: Original Sin 2')]
write(self, vals)
amount
Integer
parent_id
Many2one → test_new_api.model_shared_cache_compute_parent
user_id
Many2one → res.users
default=<expr>
args: 'res.users'
No public methods.
line_ids
One2many → test_new_api.model_shared_cache_compute_line
string='Timesheets'
args: 'test_new_api.model_shared_cache_compute_line', 'parent_id'
name
Char
string='Task Name'
total_amount
Integer
compute='_compute_total_amount'
compute_sudo=True
store=True
No public methods.
amount
Monetary
currency_field='base_currency_id'
base_currency_id
Many2one → res.currency
No public methods.
monetary_id
Many2one → test_new_api.monetary_base
x_amount
Monetary
related='monetary_id.amount'
x_currency_id
Many2one → res.currency
related='monetary_id.base_currency_id'
args: 'res.currency'
No public methods.
currency_id
Many2one → res.currency
monetary_id
Many2one → test_new_api.monetary_base
ondelete='cascade'
required=True
args: 'test_new_api.monetary_base'
No public methods.
currency_id
Many2one → res.currency
line_ids
One2many → test_new_api.monetary_order_line
total
Monetary
compute='_compute_total'
store=True
No public methods.
order_id
Many2one → test_new_api.monetary_order
ondelete='cascade'
required=True
args: 'test_new_api.monetary_order'
subtotal
Float
digits=(10, 2)
No public methods.
amount
Monetary
related='monetary_id.amount'
currency_id
Many2one → res.currency
related='monetary_id.base_currency_id'
args: 'res.currency'
monetary_id
Many2one → test_new_api.monetary_base
total
Monetary
No public methods.
line_ids
One2many → test_new_api.move_line
domain=[('visible', '=', True)]
args: 'test_new_api.move_line', 'move_id'
payment_ids
One2many → test_new_api.payment
quantity
Integer
compute='_compute_quantity'
store=True
tag_id
Many2one → test_new_api.multi.tag
tag_name
Char
related='tag_id.name'
tag_repeat
Integer
tag_string
Char
compute='_compute_tag_string'
No public methods.
move_id
Many2one → test_new_api.move
ondelete='cascade'
required=True
args: 'test_new_api.move'
quantity
Integer
visible
Boolean
default=True
No public methods.
lines
One2many → test_new_api.multi.line
name
Char
readonly=True
related='partner.name'
partner
Many2one → res.partner
partners
One2many
related='partner.child_ids'
tags
Many2many → test_new_api.multi.tag
domain=[('name', 'ilike', 'a')]
args: 'test_new_api.multi.tag'
No public methods.
multi
Many2one → test_new_api.multi
ondelete='cascade'
args: 'test_new_api.multi'
name
Char
partner
Many2one
related='multi.partner'
store=True
tags
Many2many → test_new_api.multi.tag
No public methods.
No new fields.
Public methods (0)No public methods.
name
Char
No public methods.
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
No public methods.
line_ids
One2many → test_new_api.one2many.line
compute='_compute_line_ids'
domain=[('count', '>', 0)]
readonly=False
store=True
args: 'test_new_api.one2many.line', 'container_id'
name
Char
No public methods.
container_id
Many2one → test_new_api.one2many
required=True
args: 'test_new_api.one2many'
count
Integer
default=1
name
Char
No public methods.
move_id
Many2one → test_new_api.move
ondelete='cascade'
required=True
args: 'test_new_api.move'
No public methods.
name
Char
ship_ids
Many2many → test_new_api.ship
No public methods.
name
Char
ship_ids
Many2many → test_new_api.ship
No public methods.
display_name
Char
compute='_compute_display_name'
recursive=True
store=True
full_name
Char
compute='_compute_full_name'
recursive=True
name
Char
required=True
parent
Many2one → test_new_api.recursive
ondelete='cascade'
args: 'test_new_api.recursive'
No public methods.
children_ids
One2many → test_new_api.recursive.tree
display_name
Char
compute='_compute_display_name'
recursive=True
store=True
name
Char
required=True
parent_id
Many2one → test_new_api.recursive.tree
ondelete='cascade'
args: 'test_new_api.recursive.tree'
No public methods.
message
Many2one → test_new_api.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'
No public methods.
bar
Many2one → res.country
required=True
args: 'res.country'
foo
Many2one → res.currency
ondelete='cascade'
required=True
args: 'res.currency'
No public methods.
bar
Many2one → res.country
required=True
args: 'res.country'
foo
Many2one → res.currency
ondelete='restrict'
required=True
args: 'res.currency'
No public methods.
other
Selection
state
Selection
No public methods.
name
Char
pirate_ids
Many2many → test_new_api.pirate
prisoner_ids
Many2many → test_new_api.prisoner
No public methods.
state
Selection
No public methods.
member_ids
One2many → test_new_api.team.member
name
Char
parent_id
Many2one → test_new_api.team
No public methods.
name
Char
parent_id
Many2one → test_new_api.team
related='team_id.parent_id'
args: 'test_new_api.team'
team_id
Many2one → test_new_api.team
No public methods.
middle_ids
One2many → test_new_api.trigger.middle
right_id
Many2one
related='middle_ids.right_id'
store=True
No public methods.
left_id
Many2one → test_new_api.trigger.left
required=True
args: 'test_new_api.trigger.left'
right_id
Many2one → test_new_api.trigger.right
required=True
args: 'test_new_api.trigger.right'
No public methods.
left_ids
One2many → test_new_api.trigger.left
left_size
Integer
compute='_compute_left_size'
store=True
No public methods.
| REPOSITORY | |
|---|---|
| REPOSITORY | odoo/odoo |
| GIT | |
| GIT | https://github.com/odoo/odoo.git |
| GIT FOLDER | |
| GIT FOLDER | https://github.com/odoo/odoo/tree/14.0/test_new_api |
| VERSION | |
| VERSION | 1.0 |
| CATEGORY | |
| CATEGORY | Hidden/Tests |
| LICENSE | |
| LICENSE | LGPL-3 |
| APPLICATION | |
| APPLICATION | No |
| AUTO-INSTALLABLE | |
| AUTO-INSTALLABLE | No |
| AUTHORS | |
| AUTHORS | |
| MAINTAINERS | |
| MAINTAINERS | |
| COMMITTERS | |
| COMMITTERS | Raphael Collet, Martin Trigaux, Denis Ledoux, Christophe Simonis, Nicolas Lempereur, Jeremy Kersten, GitHub, Lucas Perais (lpe), Yannick Tivisse, Christophe Monniez, Jorge Pinna Puissant, Adrian Torres, Xavier-Do, Victor Feyens, Sébastien Theys, Julien Mougenot, fw-bot, svs-odoo, Nasreddin Boulif (bon), Michael Mattiello (mcm), Adrien Widart (awt), Ivan Rasputin |
| WEBSITE | |
| WEBSITE | |
| LAST TRACKING UPDATE | |
| LAST TRACKING UPDATE | 2026-07-06 00:14:31 |
| 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 API. |
| XML ID | Name | Model | Type | Status |
|---|---|---|---|---|
assets_tests |
Test New Api Assets Tests | ir.ui.view | qweb | Inherits web.assets_tests |
category_form |
category form view | test_new_api.category | form | New |
category_tree |
category tree view | test_new_api.category | tree | New |
compute_editable_form |
test_new_api.compute_editable.form | test_new_api.compute_editable | form | New |
discussion_form |
discussion form view | test_new_api.discussion | form | New |
discussion_form_2 |
discussion form view | test_new_api.discussion | form | New |
discussion_form_3 |
discussion form view | test_new_api.discussion | form | New |
message_form |
message form view | test_new_api.message | form | New |
message_tree |
message tree view | test_new_api.message | tree | New |
model_parent_form |
model parent form view | test_new_api.model_parent_m2o | form | New |
model_shared_cache_compute_parent_view_form |
model_shared_cache_compute_parent_view_form | test_new_api.model_shared_cache_compute_parent | form | New |
multi_form |
multi form view | test_new_api.multi | form | New |
multi_tree |
multi tree view | test_new_api.multi | tree | New |
float
Float
float_2
Float
digits=(16, 2)
float_4
Float
digits=(16, 4)
No public methods.
bool_false
Boolean
default=False
args: 'b2'
bool_true
Boolean
default=True
args: 'b1'
bool_undefined
Boolean
No public methods.
name
Char
compute='_compute_name'
compute_sudo=True
store=True
res_id
Integer
required=True
res_model
Char
required=True
modified(self, fnames, *args, **kwargs)
attachment_ids
One2many → test_new_api.attachment
auto_join=True
domain=<expr>
args: 'test_new_api.attachment', 'res_id'
No public methods.
foo
Many2one → test_new_api.foo
compute='_compute_foo'
search='_search_foo'
args: 'test_new_api.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'
No public methods.
image_attachment
Binary
attachment=True
image_wo_attachment
Binary
attachment=False
name
Char
required=True
No public methods.
bar
Char
compute='_compute_bar'
baz
Char
compute='_compute_baz'
store=True
foo
Char
No public methods.
color
Integer
depth
Integer
compute='_compute_depth'
discussions
Many2many → test_new_api.discussion
display_name
Char
compute='_compute_display_name'
inverse='_inverse_display_name'
dummy
Char
store=False
name
Char
required=True
parent
Many2one → test_new_api.category
ondelete='cascade'
args: 'test_new_api.category'
parent_path
Char
index=True
root_categ
Many2one
compute='_compute_root_categ'
args: _name
No public methods.
country_id
Many2one → test_new_api.country
name
Char
No public methods.
count
Integer
company_dependent=True
date
Date
company_dependent=True
foo
Char
company_dependent=True
moment
Datetime
company_dependent=True
phi
Float
company_dependent=True
digits=(2, 5)
tag_id
Many2one → test_new_api.multi.tag
company_dependent=True
args: 'test_new_api.multi.tag'
truth
Boolean
company_dependent=True
No public methods.
bar
Char
compute='_compute_bar'
store=True
company
Many2one → test_new_api.company
quantity
Integer
No public methods.
full_name
Char
compute='_compute_full_name'
name1
Char
name2
Char
name3
Char
No public methods.
bar
Char
compute='_compute_bar'
inverse='_inverse_bar'
store=True
baz
Char
foo
Char
No public methods.
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_new_api.compute.onchange.line
compute='_compute_line_ids'
readonly=False
store=True
args: 'test_new_api.compute.onchange.line', 'record_id'
tag_ids
Many2many → test_new_api.multi.tag
compute='_compute_tag_ids'
readonly=False
store=True
args: 'test_new_api.multi.tag'
copy(self, default=None)
bar
Char
compute='_compute_bar'
foo
Char
record_id
Many2one → test_new_api.compute.onchange
ondelete='cascade'
args: 'test_new_api.compute.onchange'
No public methods.
bar
Char
compute='_compute_bar'
store=True
foo
Char
default=''
No public methods.
bar
Char
compute='_compute_bar'
readonly=False
store=True
foo
Char
No public methods.
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
No public methods.
name
Char
No public methods.
editions
One2many → test_new_api.creativework.edition
domain=[('res_model', '=', _name)]
args: 'test_new_api.creativework.edition', 'res_id'
name
Char
No public methods.
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'
No public methods.
editions
One2many → test_new_api.creativework.edition
domain=[('res_model', '=', _name)]
args: 'test_new_api.creativework.edition', 'res_id'
name
Char
No public methods.
pirate_id
Many2one → test_new_api.pirate
prisoner_id
Many2one → test_new_api.prisoner
ship_id
Many2one → test_new_api.ship
No public methods.
categories
Many2many → test_new_api.category
emails
One2many → test_new_api.emailmessage
important_emails
One2many → test_new_api.emailmessage
domain=[('important', '=', True)]
args: 'test_new_api.emailmessage', 'discussion'
important_messages
One2many → test_new_api.message
domain=[('important', '=', True)]
args: 'test_new_api.message', 'discussion'
message_concat
Text
string='Message concatenate'
messages
One2many → test_new_api.message
copy=True
args: 'test_new_api.message', 'discussion'
moderator
Many2one → res.users
name
Char
help='General description of what this discussion is about.'
required=True
string='Title'
participants
Many2many → res.users
context={'active_test': False}
args: 'res.users'
very_important_messages
One2many → test_new_api.message
domain=<expr>
args: 'test_new_api.message', 'discussion'
No public methods.
display_name
Char
compute='_compute_display_name'
store=True
No public methods.
No new fields.
Public methods (0)No public methods.
email_to
Char
message
Many2one → test_new_api.message
ondelete='cascade'
required=True
args: 'test_new_api.message', 'Message'
No public methods.
pArTneR_321_id
Many2one → res.partner
No public methods.
name
Char
text
Char
trim=False
value1
Integer
change_default=True
value2
Integer
No public methods.
model_ids
One2many → test_new_api.model_many2one_reference
string='Models'
args: 'test_new_api.model_many2one_reference', 'res_id'
model_ids_count
Integer
compute='_compute_model_ids_count'
args: 'Count'
No public methods.
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
discussion
Many2one → test_new_api.discussion
ondelete='cascade'
args: 'test_new_api.discussion'
discussion_name
Char
readonly=False
related='discussion.name'
string='Discussion Name'
display_name
Char
compute='_compute_display_name'
string='Abstract'
double_size
Integer
compute='_compute_double_size'
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'
write(self, vals)
amount
Monetary
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
currency_id
Many2one → res.currency
default=<expr>
args: 'res.currency'
date
Date
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='New API Precision'
reference
Reference
selection='_reference_models'
string='Related Document'
No public methods.
No new fields.
Public methods (0)No public methods.
a_restricted_b_ids
Many2many → test_new_api.model_b
relation='rel_model_a_model_b_1'
args: 'test_new_api.model_b'
b_restricted_b_ids
Many2many → test_new_api.model_b
ondelete='restrict'
relation='rel_model_a_model_b_2'
args: 'test_new_api.model_b'
name
Char
No public methods.
active
Boolean
default=True
active_children_ids
One2many → test_new_api.model_active_field
context={'active_test': True}
args: 'test_new_api.model_active_field', 'parent_id'
all_children_ids
One2many → test_new_api.model_active_field
context={'active_test': False}
args: 'test_new_api.model_active_field', 'parent_id'
children_ids
One2many → test_new_api.model_active_field
name
Char
parent_active
Boolean
related='parent_id.active'
store=True
string='Active Parent'
parent_id
Many2one → test_new_api.model_active_field
No public methods.
a_restricted_a_ids
Many2many → test_new_api.model_a
ondelete='restrict'
relation='rel_model_a_model_b_1'
args: 'test_new_api.model_a'
b_restricted_a_ids
Many2many → test_new_api.model_a
relation='rel_model_a_model_b_2'
args: 'test_new_api.model_a'
name
Char
No public methods.
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'
No public methods.
company_id
Many2one → res.company
required=True
args: 'res.company'
name
Char
parent_id
Many2one → test_new_api.model_parent
check_company=True
args: 'test_new_api.model_parent'
No public methods.
cost
Integer
compute='_compute_cost'
readonly=False
store=True
name
Char
parent_id
Many2one → test_new_api.model_parent_m2o
ondelete='cascade'
args: 'test_new_api.model_parent_m2o'
size1
Integer
compute='_compute_sizes'
store=True
size2
Integer
compute='_compute_sizes'
store=True
write(self, vals)
company_id
Many2one → res.company
required=True
args: 'res.company'
name
Char
parent_id
Many2one → test_new_api.model_parent
check_company=False
args: 'test_new_api.model_parent'
No public methods.
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'
name
Char
required=True
No public methods.
res_id
Many2oneReference
model_field='res_model'
args: 'Resource ID'
res_model
Char
No public methods.
company_id
Many2one → res.company
required=True
args: 'res.company'
name
Char
No public methods.
child_ids
One2many → test_new_api.model_child_m2o
string='Children'
args: 'test_new_api.model_child_m2o', 'parent_id'
cost
Integer
compute='_compute_cost'
store=True
name
Char
No public methods.
address_id
Many2one → res.partner
check_company=True
args: 'res.partner'
company_id
Many2one → res.company
required=True
args: 'res.company'
name
Char
No public methods.
my_selection
Selection
No public methods.
my_selection
Selection
ondelete={'quux': 'set null'}
selection_add=[('quux', 'Quux')]
No public methods.
my_selection
Selection
selection_add=[('ham', 'Ham')]
No public methods.
my_selection
Selection
store=False
args: [('foo', 'Foo'), ('bar', 'Bar')]
No public methods.
active
Boolean
default=True
my_selection
Selection
default='foo'
required=True
args: [('foo', 'Foo'), ('bar', 'Bar')]
No public methods.
my_selection
Selection
ondelete={'baz': 'set default'}
selection_add=[('baz', 'Baz')]
No public methods.
my_selection
Selection
ondelete={'eggs': 'cascade'}
selection_add=[('eggs', 'Eggs')]
No public methods.
my_selection
Selection
ondelete={'bacon': <expr>}
selection_add=[('bacon', 'Bacon')]
No public methods.
my_selection
Selection
ondelete={'pikachu': 'set default', 'eevee': <expr>}
selection_add=[('pikachu', 'Pikachu'), ('eevee', 'Eevee')]
No public methods.
my_selection
Selection
ondelete={'knickers': <expr>}
selection_add=[('knickers', 'Oh la la')]
No public methods.
my_selection
Selection
default='foo'
required=True
args: [('foo', 'Foo'), ('bar', 'Bar')]
No public methods.
my_selection
Selection
ondelete={'divinity': 'set default'}
selection_add=[('divinity', 'Divinity: Original Sin 2')]
write(self, vals)
amount
Integer
parent_id
Many2one → test_new_api.model_shared_cache_compute_parent
user_id
Many2one → res.users
default=<expr>
args: 'res.users'
No public methods.
line_ids
One2many → test_new_api.model_shared_cache_compute_line
string='Timesheets'
args: 'test_new_api.model_shared_cache_compute_line', 'parent_id'
name
Char
string='Task Name'
total_amount
Integer
compute='_compute_total_amount'
compute_sudo=True
store=True
No public methods.
amount
Monetary
currency_field='base_currency_id'
base_currency_id
Many2one → res.currency
No public methods.
monetary_id
Many2one → test_new_api.monetary_base
x_amount
Monetary
related='monetary_id.amount'
x_currency_id
Many2one → res.currency
related='monetary_id.base_currency_id'
args: 'res.currency'
No public methods.
currency_id
Many2one → res.currency
monetary_id
Many2one → test_new_api.monetary_base
ondelete='cascade'
required=True
args: 'test_new_api.monetary_base'
No public methods.
currency_id
Many2one → res.currency
line_ids
One2many → test_new_api.monetary_order_line
total
Monetary
compute='_compute_total'
store=True
No public methods.
order_id
Many2one → test_new_api.monetary_order
ondelete='cascade'
required=True
args: 'test_new_api.monetary_order'
subtotal
Float
digits=(10, 2)
No public methods.
amount
Monetary
related='monetary_id.amount'
currency_id
Many2one → res.currency
related='monetary_id.base_currency_id'
args: 'res.currency'
monetary_id
Many2one → test_new_api.monetary_base
total
Monetary
No public methods.
line_ids
One2many → test_new_api.move_line
domain=[('visible', '=', True)]
args: 'test_new_api.move_line', 'move_id'
quantity
Integer
compute='_compute_quantity'
store=True
tag_id
Many2one → test_new_api.multi.tag
tag_name
Char
related='tag_id.name'
No public methods.
move_id
Many2one → test_new_api.move
ondelete='cascade'
required=True
args: 'test_new_api.move'
quantity
Integer
visible
Boolean
default=True
No public methods.
lines
One2many → test_new_api.multi.line
name
Char
readonly=True
related='partner.name'
partner
Many2one → res.partner
partners
One2many
related='partner.child_ids'
No public methods.
multi
Many2one → test_new_api.multi
ondelete='cascade'
args: 'test_new_api.multi'
name
Char
partner
Many2one
related='multi.partner'
store=True
tags
Many2many → test_new_api.multi.tag
No public methods.
No new fields.
Public methods (0)No public methods.
name
Char
No public methods.
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
No public methods.
line_ids
One2many → test_new_api.one2many.line
compute='_compute_line_ids'
domain=[('count', '>', 0)]
readonly=False
store=True
args: 'test_new_api.one2many.line', 'container_id'
name
Char
No public methods.
container_id
Many2one → test_new_api.one2many
required=True
args: 'test_new_api.one2many'
count
Integer
default=1
name
Char
No public methods.
move_id
Many2one → test_new_api.move
ondelete='cascade'
required=True
args: 'test_new_api.move'
No public methods.
name
Char
ship_ids
Many2many → test_new_api.ship
No public methods.
name
Char
ship_ids
Many2many → test_new_api.ship
No public methods.
display_name
Char
compute='_compute_display_name'
store=True
full_name
Char
compute='_compute_full_name'
name
Char
required=True
parent
Many2one → test_new_api.recursive
ondelete='cascade'
args: 'test_new_api.recursive'
No public methods.
children_ids
One2many → test_new_api.recursive.tree
display_name
Char
compute='_compute_display_name'
store=True
name
Char
required=True
parent_id
Many2one → test_new_api.recursive.tree
ondelete='cascade'
args: 'test_new_api.recursive.tree'
No public methods.
message
Many2one → test_new_api.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'
No public methods.
bar
Many2one → res.country
required=True
args: 'res.country'
foo
Many2one → res.currency
ondelete='cascade'
required=True
args: 'res.currency'
No public methods.
bar
Many2one → res.country
required=True
args: 'res.country'
foo
Many2one → res.currency
ondelete='restrict'
required=True
args: 'res.currency'
No public methods.
other
Selection
state
Selection
No public methods.
name
Char
pirate_ids
Many2many → test_new_api.pirate
prisoner_ids
Many2many → test_new_api.prisoner
No public methods.
state
Selection
No public methods.
member_ids
One2many → test_new_api.team.member
name
Char
parent_id
Many2one → test_new_api.team
No public methods.
name
Char
parent_id
Many2one → test_new_api.team
related='team_id.parent_id'
args: 'test_new_api.team'
team_id
Many2one → test_new_api.team
No public methods.
middle_ids
One2many → test_new_api.trigger.middle
right_id
Many2one
related='middle_ids.right_id'
store=True
No public methods.
left_id
Many2one → test_new_api.trigger.left
required=True
args: 'test_new_api.trigger.left'
right_id
Many2one → test_new_api.trigger.right
required=True
args: 'test_new_api.trigger.right'
No public methods.
left_ids
One2many → test_new_api.trigger.left
left_size
Integer
compute='_compute_left_size'
store=True
No public methods.
| REPOSITORY | |
|---|---|
| REPOSITORY | odoo/odoo |
| GIT | |
| GIT | https://github.com/odoo/odoo.git |
| GIT FOLDER | |
| GIT FOLDER | https://github.com/odoo/odoo/tree/13.0/test_new_api |
| VERSION | |
| VERSION | 1.0 |
| CATEGORY | |
| CATEGORY | Tests |
| LICENSE | |
| LICENSE | LGPL-3 |
| APPLICATION | |
| APPLICATION | No |
| AUTO-INSTALLABLE | |
| AUTO-INSTALLABLE | No |
| AUTHORS | |
| AUTHORS | |
| MAINTAINERS | |
| MAINTAINERS | |
| COMMITTERS | |
| COMMITTERS | Raphael Collet, Martin Trigaux, Denis Ledoux, Christophe Simonis, Simon Lejeune, Guewen Baconnier, Nicolas Lempereur, Jeremy Kersten, Lucas Perais (lpe), Yannick Tivisse, Romain Derie, Jorge Pinna Puissant, Adrian Torres, Xavier-Do, Victor Feyens, Sébastien Theys, fja-odoo |
| WEBSITE | |
| WEBSITE | |
| LAST TRACKING UPDATE | |
| LAST TRACKING UPDATE | 2026-07-06 00:06:44 |
| 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 API. |
| XML ID | Name | Model | Type | Status |
|---|---|---|---|---|
assets_tests |
Test New Api Assets Tests | ir.ui.view | qweb | Inherits web.assets_tests |
category_form |
category form view | test_new_api.category | form | New |
category_tree |
category tree view | test_new_api.category | tree | New |
discussion_form |
discussion form view | test_new_api.discussion | form | New |
discussion_form_2 |
discussion form view | test_new_api.discussion | form | New |
discussion_form_3 |
discussion form view | test_new_api.discussion | form | New |
message_form |
message form view | test_new_api.message | form | New |
message_tree |
message tree view | test_new_api.message | tree | New |
model_shared_cache_compute_parent_view_form |
model_shared_cache_compute_parent_view_form | test_new_api.model_shared_cache_compute_parent | form | New |
multi_form |
multi form view | test_new_api.multi | form | New |
multi_tree |
multi tree view | test_new_api.multi | tree | New |
float
Float
float_2
Float
digits=(16, 2)
float_4
Float
digits=(16, 4)
No public methods.
bool_false
Boolean
default=False
args: 'b2'
bool_true
Boolean
default=True
args: 'b1'
bool_undefined
Boolean
No public methods.
name
Char
compute='_compute_name'
compute_sudo=True
store=True
res_id
Integer
required=True
res_model
Char
required=True
modified(self, fnames, *args, **kwargs)
attachment_ids
One2many → test_new_api.attachment
auto_join=True
domain=<expr>
args: 'test_new_api.attachment', 'res_id'
No public methods.
foo
Many2one → test_new_api.foo
compute='_compute_foo'
search='_search_foo'
args: 'test_new_api.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'
No public methods.
image_attachment
Binary
attachment=True
image_wo_attachment
Binary
attachment=False
name
Char
required=True
No public methods.
bar
Char
compute='_compute_bar'
baz
Char
compute='_compute_baz'
store=True
foo
Char
No public methods.
color
Integer
depth
Integer
compute='_compute_depth'
discussions
Many2many → test_new_api.discussion
display_name
Char
compute='_compute_display_name'
inverse='_inverse_display_name'
dummy
Char
store=False
name
Char
required=True
parent
Many2one → test_new_api.category
ondelete='cascade'
args: 'test_new_api.category'
parent_path
Char
index=True
root_categ
Many2one
compute='_compute_root_categ'
args: _name
No public methods.
country_id
Many2one → test_new_api.country
name
Char
No public methods.
count
Integer
company_dependent=True
date
Date
company_dependent=True
foo
Char
company_dependent=True
moment
Datetime
company_dependent=True
phi
Float
company_dependent=True
digits=(2, 5)
tag_id
Many2one → test_new_api.multi.tag
company_dependent=True
args: 'test_new_api.multi.tag'
truth
Boolean
company_dependent=True
No public methods.
bar
Char
compute='_compute_bar'
store=True
company
Many2one → test_new_api.company
quantity
Integer
No public methods.
bar
Char
compute='_compute_bar'
inverse='_inverse_bar'
store=True
baz
Char
foo
Char
No public methods.
active
Boolean
bar
Char
compute='_compute_bar'
store=True
baz
Char
compute='_compute_baz'
readonly=False
store=True
foo
Char
No public methods.
bar
Char
compute='_compute_bar'
store=True
foo
Char
default=''
No public methods.
name
Char
No public methods.
editions
One2many → test_new_api.creativework.edition
domain=[('res_model', '=', _name)]
args: 'test_new_api.creativework.edition', 'res_id'
name
Char
No public methods.
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
required=True
args: 'ir.model'
No public methods.
editions
One2many → test_new_api.creativework.edition
domain=[('res_model', '=', _name)]
args: 'test_new_api.creativework.edition', 'res_id'
name
Char
No public methods.
categories
Many2many → test_new_api.category
emails
One2many → test_new_api.emailmessage
important_emails
One2many → test_new_api.emailmessage
domain=[('important', '=', True)]
args: 'test_new_api.emailmessage', 'discussion'
important_messages
One2many → test_new_api.message
domain=[('important', '=', True)]
args: 'test_new_api.message', 'discussion'
message_concat
Text
string='Message concatenate'
messages
One2many → test_new_api.message
copy=True
args: 'test_new_api.message', 'discussion'
moderator
Many2one → res.users
name
Char
help='General description of what this discussion is about.'
required=True
string='Title'
participants
Many2many → res.users
context={'active_test': False}
args: 'res.users'
very_important_messages
One2many → test_new_api.message
domain=<expr>
args: 'test_new_api.message', 'discussion'
No public methods.
display_name
Char
compute='_compute_display_name'
store=True
No public methods.
No new fields.
Public methods (0)No public methods.
email_to
Char
message
Many2one → test_new_api.message
ondelete='cascade'
required=True
args: 'test_new_api.message', 'Message'
No public methods.
pArTneR_321_id
Many2one → res.partner
No public methods.
name
Char
text
Char
trim=False
value1
Integer
change_default=True
value2
Integer
No public methods.
model_ids
One2many → test_new_api.model_many2one_reference
string='Models'
args: 'test_new_api.model_many2one_reference', 'res_id'
model_ids_count
Integer
compute='_compute_model_ids_count'
args: 'Count'
No public methods.
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
discussion
Many2one → test_new_api.discussion
ondelete='cascade'
args: 'test_new_api.discussion'
discussion_name
Char
readonly=False
related='discussion.name'
string='Discussion Name'
display_name
Char
compute='_compute_display_name'
string='Abstract'
double_size
Integer
compute='_compute_double_size'
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'
write(self, vals)
amount
Monetary
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
currency_id
Many2one → res.currency
default=<expr>
args: 'res.currency'
date
Date
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='New API Precision'
reference
Reference
selection='_reference_models'
string='Related Document'
No public methods.
No new fields.
Public methods (0)No public methods.
a_restricted_b_ids
Many2many → test_new_api.model_b
relation='rel_model_a_model_b_1'
args: 'test_new_api.model_b'
b_restricted_b_ids
Many2many → test_new_api.model_b
ondelete='restrict'
relation='rel_model_a_model_b_2'
args: 'test_new_api.model_b'
name
Char
No public methods.
active
Boolean
default=True
active_children_ids
One2many → test_new_api.model_active_field
context={'active_test': True}
args: 'test_new_api.model_active_field', 'parent_id'
all_children_ids
One2many → test_new_api.model_active_field
context={'active_test': False}
args: 'test_new_api.model_active_field', 'parent_id'
children_ids
One2many → test_new_api.model_active_field
parent_active
Boolean
related='parent_id.active'
store=True
string='Active Parent'
parent_id
Many2one → test_new_api.model_active_field
No public methods.
a_restricted_a_ids
Many2many → test_new_api.model_a
ondelete='restrict'
relation='rel_model_a_model_b_1'
args: 'test_new_api.model_a'
b_restricted_a_ids
Many2many → test_new_api.model_a
relation='rel_model_a_model_b_2'
args: 'test_new_api.model_a'
name
Char
No public methods.
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'
No public methods.
company_id
Many2one → res.company
required=True
args: 'res.company'
name
Char
parent_id
Many2one → test_new_api.model_parent
check_company=True
args: 'test_new_api.model_parent'
No public methods.
name
Char
parent_id
Many2one → test_new_api.model_parent_m2o
ondelete='cascade'
args: 'test_new_api.model_parent_m2o'
size1
Integer
compute='_compute_sizes'
store=True
size2
Integer
compute='_compute_sizes'
store=True
write(self, vals)
company_id
Many2one → res.company
required=True
args: 'res.company'
name
Char
parent_id
Many2one → test_new_api.model_parent
check_company=False
args: 'test_new_api.model_parent'
No public methods.
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'
name
Char
required=True
No public methods.
res_id
Many2oneReference
model_field='res_model'
args: 'Resource ID'
res_model
Char
No public methods.
company_id
Many2one → res.company
required=True
args: 'res.company'
name
Char
No public methods.
child_ids
One2many → test_new_api.model_child_m2o
string='Children'
args: 'test_new_api.model_child_m2o', 'parent_id'
name
Char
No public methods.
address_id
Many2one → res.partner
check_company=True
args: 'res.partner'
company_id
Many2one → res.company
required=True
args: 'res.company'
name
Char
No public methods.
amount
Integer
parent_id
Many2one → test_new_api.model_shared_cache_compute_parent
user_id
Many2one → res.users
default=<expr>
args: 'res.users'
No public methods.
line_ids
One2many → test_new_api.model_shared_cache_compute_line
string='Timesheets'
args: 'test_new_api.model_shared_cache_compute_line', 'parent_id'
name
Char
string='Task Name'
total_amount
Integer
compute='_compute_total_amount'
compute_sudo=True
store=True
No public methods.
amount
Monetary
currency_field='base_currency_id'
base_currency_id
Many2one → res.currency
No public methods.
monetary_id
Many2one → test_new_api.monetary_base
x_amount
Monetary
related='monetary_id.amount'
x_currency_id
Many2one → res.currency
related='monetary_id.base_currency_id'
args: 'res.currency'
No public methods.
currency_id
Many2one → res.currency
monetary_id
Many2one → test_new_api.monetary_base
ondelete='cascade'
required=True
args: 'test_new_api.monetary_base'
No public methods.
currency_id
Many2one → res.currency
line_ids
One2many → test_new_api.monetary_order_line
total
Monetary
compute='_compute_total'
store=True
No public methods.
order_id
Many2one → test_new_api.monetary_order
ondelete='cascade'
required=True
args: 'test_new_api.monetary_order'
subtotal
Float
digits=(10, 2)
No public methods.
amount
Monetary
related='monetary_id.amount'
currency_id
Many2one → res.currency
related='monetary_id.base_currency_id'
args: 'res.currency'
monetary_id
Many2one → test_new_api.monetary_base
No public methods.
line_ids
One2many → test_new_api.move_line
domain=[('visible', '=', True)]
args: 'test_new_api.move_line', 'move_id'
quantity
Integer
compute='_compute_quantity'
store=True
No public methods.
move_id
Many2one → test_new_api.move
ondelete='cascade'
required=True
args: 'test_new_api.move'
quantity
Integer
visible
Boolean
default=True
No public methods.
lines
One2many → test_new_api.multi.line
name
Char
readonly=True
related='partner.name'
partner
Many2one → res.partner
partners
One2many
related='partner.child_ids'
No public methods.
multi
Many2one → test_new_api.multi
ondelete='cascade'
args: 'test_new_api.multi'
name
Char
partner
Many2one → res.partner
tags
Many2many → test_new_api.multi.tag
No public methods.
No new fields.
Public methods (0)No public methods.
name
Char
No public methods.
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
No public methods.
line_ids
One2many → test_new_api.one2many.line
compute='_compute_line_ids'
domain=[('count', '>', 0)]
readonly=False
store=True
args: 'test_new_api.one2many.line', 'container_id'
name
Char
No public methods.
container_id
Many2one → test_new_api.one2many
required=True
args: 'test_new_api.one2many'
count
Integer
default=1
name
Char
No public methods.
display_name
Char
compute='_compute_display_name'
store=True
full_name
Char
compute='_compute_full_name'
name
Char
required=True
parent
Many2one → test_new_api.recursive
ondelete='cascade'
args: 'test_new_api.recursive'
No public methods.
children_ids
One2many → test_new_api.recursive.tree
display_name
Char
compute='_compute_display_name'
store=True
name
Char
required=True
parent_id
Many2one → test_new_api.recursive.tree
ondelete='cascade'
args: 'test_new_api.recursive.tree'
No public methods.
message
Many2one → test_new_api.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'
No public methods.
bar
Many2one → res.country
required=True
args: 'res.country'
foo
Many2one → res.currency
ondelete='cascade'
required=True
args: 'res.currency'
No public methods.
bar
Many2one → res.country
required=True
args: 'res.country'
foo
Many2one → res.currency
ondelete='restrict'
required=True
args: 'res.currency'
No public methods.
other
Selection
state
Selection
No public methods.
state
Selection
No public methods.
middle_ids
One2many → test_new_api.trigger.middle
right_id
Many2one
related='middle_ids.right_id'
store=True
No public methods.
left_id
Many2one → test_new_api.trigger.left
required=True
args: 'test_new_api.trigger.left'
right_id
Many2one → test_new_api.trigger.right
required=True
args: 'test_new_api.trigger.right'
No public methods.
left_ids
One2many → test_new_api.trigger.left
left_size
Integer
compute='_compute_left_size'
store=True
No public methods.
| REPOSITORY | |
|---|---|
| REPOSITORY | odoo/odoo |
| GIT | |
| GIT | https://github.com/odoo/odoo.git |
| GIT FOLDER | |
| GIT FOLDER | https://github.com/odoo/odoo/tree/12.0/test_new_api |
| VERSION | |
| VERSION | 1.0 |
| CATEGORY | |
| CATEGORY | Tests |
| LICENSE | |
| LICENSE | LGPL-3 |
| APPLICATION | |
| APPLICATION | No |
| AUTO-INSTALLABLE | |
| AUTO-INSTALLABLE | No |
| AUTHORS | |
| AUTHORS | |
| MAINTAINERS | |
| MAINTAINERS | |
| COMMITTERS | |
| COMMITTERS | Raphael Collet, Christophe Matthieu, Martin Trigaux, Olivier Dony, Thibault Delavallée, Christophe Simonis, Xavier Morel, GitHub, Lucas Perais (lpe), Yannick Tivisse, qsm-odoo, Christophe Monniez, Jorge Pinna Puissant, Alexandre Kühn, Adrian Torres, Xavier-Do, Kinjal Mehta, Quentin Smetz (qsm) |
| WEBSITE | |
| WEBSITE | |
| LAST TRACKING UPDATE | |
| LAST TRACKING UPDATE | 2026-07-05 23:57:02 |
| 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 API. |
| XML ID | Name | Model | Type | Status |
|---|---|---|---|---|
assets_backend |
test_new_api backend assets | ir.ui.view | qweb | Inherits web.assets_backend |
category_form |
category form view | test_new_api.category | form | New |
category_tree |
category tree view | test_new_api.category | tree | New |
discussion_form |
discussion form view | test_new_api.discussion | form | New |
discussion_form_2 |
discussion form view | test_new_api.discussion | form | New |
discussion_form_3 |
discussion form view | test_new_api.discussion | form | New |
message_form |
message form view | test_new_api.message | form | New |
message_tree |
message tree view | test_new_api.message | tree | New |
multi_form |
multi form view | test_new_api.multi | form | New |
multi_tree |
multi tree view | test_new_api.multi | tree | New |
bool_false
Boolean
default=False
args: 'b2'
bool_true
Boolean
default=True
args: 'b1'
bool_undefined
Boolean
No public methods.
foo
Many2one → test_new_api.foo
compute='_compute_foo'
args: 'test_new_api.foo'
name
Char
value1
Integer
readonly=False
related='foo.value1'
value2
Integer
readonly=False
related='foo.value2'
No public methods.
image_attachment
Binary
attachment=True
image_wo_attachment
Binary
attachment=False
name
Char
required=True
No public methods.
bar
Char
compute='_compute_bar'
baz
Char
compute='_compute_baz'
store=True
foo
Char
No public methods.
color
Integer
discussions
Many2many → test_new_api.discussion
display_name
Char
compute='_compute_display_name'
inverse='_inverse_display_name'
dummy
Char
store=False
name
Char
required=True
parent
Many2one → test_new_api.category
ondelete='cascade'
args: 'test_new_api.category'
parent_path
Char
index=True
root_categ
Many2one
compute='_compute_root_categ'
args: _name
read(self, fields=None, load='_classic_read')
date
Date
company_dependent=True
foo
Char
company_dependent=True
moment
Datetime
company_dependent=True
tag_id
Many2one → test_new_api.multi.tag
company_dependent=True
args: 'test_new_api.multi.tag'
No public methods.
bar
Char
compute='_compute_bar'
store=True
company
Many2one → test_new_api.company
quantity
Integer
No public methods.
bar
Char
compute='_compute_bar'
inverse='_inverse_bar'
store=True
foo
Char
No public methods.
bar
Char
compute='_compute_bar'
store=True
foo
Char
default=''
No public methods.
editions
One2many → test_new_api.creativework.edition
domain=[('res_model', '=', _name)]
args: 'test_new_api.creativework.edition', 'res_id'
name
Char
No public methods.
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
required=True
args: 'ir.model'
No public methods.
editions
One2many → test_new_api.creativework.edition
domain=[('res_model', '=', _name)]
args: 'test_new_api.creativework.edition', 'res_id'
name
Char
No public methods.
categories
Many2many → test_new_api.category
emails
One2many → test_new_api.emailmessage
important_emails
One2many → test_new_api.emailmessage
domain=[('important', '=', True)]
args: 'test_new_api.emailmessage', 'discussion'
important_messages
One2many → test_new_api.message
domain=[('important', '=', True)]
args: 'test_new_api.message', 'discussion'
message_concat
Text
string='Message concatenate'
messages
One2many → test_new_api.message
copy=True
args: 'test_new_api.message', 'discussion'
moderator
Many2one → res.users
name
Char
help='General description of what this discussion is about.'
required=True
string='Title'
participants
Many2many → res.users
context={'active_test': False}
args: 'res.users'
very_important_messages
One2many → test_new_api.message
domain=<expr>
args: 'test_new_api.message', 'discussion'
No public methods.
email_to
Char
message
Many2one → test_new_api.message
ondelete='cascade'
required=True
args: 'test_new_api.message', 'Message'
No public methods.
pArTneR_321_id
Many2one → res.partner
No public methods.
name
Char
value1
Integer
change_default=True
value2
Integer
No public methods.
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
discussion
Many2one → test_new_api.discussion
ondelete='cascade'
args: 'test_new_api.discussion'
discussion_name
Char
readonly=False
related='discussion.name'
string='Discussion Name'
display_name
Char
compute='_compute_display_name'
string='Abstract'
double_size
Integer
compute='_compute_double_size'
important
Boolean
label
Char
translate=True
name
Char
compute='_compute_name'
store=True
string='Title'
size
Integer
compute='_compute_size'
search='_search_size'
No public methods.
amount
Monetary
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
currency_id
Many2one → res.currency
default=<expr>
args: 'res.currency'
date
Date
lang
Selection
selection='_get_lang'
string='Language'
now
Datetime
compute='_compute_now'
number
Float
default=3.14
digits=(10, 2)
reference
Reference
selection='_reference_models'
string='Related Document'
No public methods.
amount
Monetary
currency_field='base_currency_id'
base_currency_id
Many2one → res.currency
No public methods.
monetary_id
Many2one → test_new_api.monetary_base
x_amount
Monetary
related='monetary_id.amount'
x_currency_id
Many2one → res.currency
related='monetary_id.base_currency_id'
args: 'res.currency'
No public methods.
currency_id
Many2one → res.currency
monetary_id
Many2one → test_new_api.monetary_base
ondelete='cascade'
required=True
args: 'test_new_api.monetary_base'
No public methods.
amount
Monetary
related='monetary_id.amount'
currency_id
Many2one → res.currency
related='monetary_id.base_currency_id'
args: 'res.currency'
monetary_id
Many2one → test_new_api.monetary_base
No public methods.
lines
One2many → test_new_api.multi.line
name
Char
readonly=True
related='partner.name'
partner
Many2one → res.partner
No public methods.
multi
Many2one → test_new_api.multi
ondelete='cascade'
args: 'test_new_api.multi'
name
Char
partner
Many2one → res.partner
tags
Many2many → test_new_api.multi.tag
No public methods.
active
Boolean
default=True
name
Char
No public methods.
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
No public methods.
display_name
Char
compute='_compute_display_name'
store=True
name
Char
required=True
parent
Many2one → test_new_api.recursive
ondelete='cascade'
args: 'test_new_api.recursive'
No public methods.
message
Many2one → test_new_api.message
message_currency
Many2one
readonly=False
related='message.author'
string='Message Author'
message_name
Text
readonly=False
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'
No public methods.
| REPOSITORY | |
|---|---|
| REPOSITORY | odoo/odoo |
| GIT | |
| GIT | https://github.com/odoo/odoo.git |
| GIT FOLDER | |
| GIT FOLDER | https://github.com/odoo/odoo/tree/11.0/test_new_api |
| VERSION | |
| VERSION | 1.0 |
| CATEGORY | |
| CATEGORY | Tests |
| LICENSE | |
| LICENSE | LGPL-3 |
| APPLICATION | |
| APPLICATION | No |
| AUTO-INSTALLABLE | |
| AUTO-INSTALLABLE | No |
| AUTHORS | |
| AUTHORS | |
| MAINTAINERS | |
| MAINTAINERS | |
| COMMITTERS | |
| COMMITTERS | Raphael Collet, Christophe Matthieu, Olivier Dony, Christophe Simonis, Xavier Morel, Nicolas Lempereur, qdp-odoo, Aaron Bohy, GitHub, Lucas Perais (lpe), qsm-odoo, Martin Geubelle, Adrian Torres, mreficent, kujiu, nle-odoo |
| WEBSITE | |
| WEBSITE | |
| LAST TRACKING UPDATE | |
| LAST TRACKING UPDATE | 2026-07-05 23:53:44 |
| 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 API. |
| XML ID | Name | Model | Type | Status |
|---|---|---|---|---|
assets_backend |
test_new_api backend assets | ir.ui.view | qweb | Inherits web.assets_backend |
category_form |
category form view | test_new_api.category | form | New |
category_tree |
category tree view | test_new_api.category | tree | New |
discussion_form |
discussion form view | test_new_api.discussion | form | New |
discussion_form_2 |
discussion form view | test_new_api.discussion | form | New |
discussion_form_3 |
discussion form view | test_new_api.discussion | form | New |
message_form |
message form view | test_new_api.message | form | New |
message_tree |
message tree view | test_new_api.message | tree | New |
multi_form |
multi form view | test_new_api.multi | form | New |
multi_tree |
multi tree view | test_new_api.multi | tree | New |
bool_false
Boolean
default=False
args: 'b2'
bool_true
Boolean
default=True
args: 'b1'
bool_undefined
Boolean
No public methods.
foo
Many2one → test_new_api.foo
compute='_compute_foo'
args: 'test_new_api.foo'
name
Char
value1
Integer
related='foo.value1'
value2
Integer
related='foo.value2'
No public methods.
bar
Char
compute='_compute_bar'
baz
Char
compute='_compute_baz'
store=True
foo
Char
No public methods.
color
Integer
discussions
Many2many → test_new_api.discussion
display_name
Char
compute='_compute_display_name'
inverse='_inverse_display_name'
dummy
Char
store=False
name
Char
required=True
parent
Many2one → test_new_api.category
root_categ
Many2one
compute='_compute_root_categ'
args: _name
read(self, fields=None, load='_classic_read')
date
Date
company_dependent=True
foo
Char
company_dependent=True
moment
Datetime
company_dependent=True
tag_id
Many2one → test_new_api.multi.tag
company_dependent=True
args: 'test_new_api.multi.tag'
No public methods.
bar
Char
compute='_compute_bar'
store=True
company
Many2one → test_new_api.company
quantity
Integer
No public methods.
bar
Char
compute='_compute_bar'
inverse='_inverse_bar'
store=True
foo
Char
No public methods.
bar
Char
compute='_compute_bar'
store=True
foo
Char
default=''
No public methods.
editions
One2many → test_new_api.creativework.edition
domain=[('res_model', '=', _name)]
args: 'test_new_api.creativework.edition', 'res_id'
name
Char
No public methods.
name
Char
res_id
Integer
required=True
res_model
Char
related='res_model_id.model'
store=True
res_model_id
Many2one → ir.model
required=True
args: 'ir.model'
No public methods.
editions
One2many → test_new_api.creativework.edition
domain=[('res_model', '=', _name)]
args: 'test_new_api.creativework.edition', 'res_id'
name
Char
No public methods.
categories
Many2many → test_new_api.category
emails
One2many → test_new_api.emailmessage
important_emails
One2many → test_new_api.emailmessage
domain=[('important', '=', True)]
args: 'test_new_api.emailmessage', 'discussion'
important_messages
One2many → test_new_api.message
domain=[('important', '=', True)]
args: 'test_new_api.message', 'discussion'
message_concat
Text
string='Message concatenate'
messages
One2many → test_new_api.message
moderator
Many2one → res.users
name
Char
help='General description of what this discussion is about.'
required=True
string='Title'
participants
Many2many → res.users
very_important_messages
One2many → test_new_api.message
domain=<expr>
args: 'test_new_api.message', 'discussion'
No public methods.
email_to
Char
message
Many2one → test_new_api.message
ondelete='cascade'
required=True
args: 'test_new_api.message', 'Message'
No public methods.
name
Char
value1
Integer
change_default=True
value2
Integer
No public methods.
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
discussion
Many2one → test_new_api.discussion
ondelete='cascade'
args: 'test_new_api.discussion'
discussion_name
Char
related='discussion.name'
string='Discussion Name'
display_name
Char
compute='_compute_display_name'
string='Abstract'
double_size
Integer
compute='_compute_double_size'
important
Boolean
name
Char
compute='_compute_name'
store=True
string='Title'
size
Integer
compute='_compute_size'
search='_search_size'
No public methods.
amount
Monetary
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
currency_id
Many2one → res.currency
default=<expr>
args: 'res.currency'
date
Date
lang
Selection
selection='_get_lang'
string='Language'
now
Datetime
compute='_compute_now'
number
Float
default=3.14
digits=(10, 2)
reference
Reference
selection='_reference_models'
string='Related Document'
No public methods.
lines
One2many → test_new_api.multi.line
name
Char
readonly=True
related='partner.name'
partner
Many2one → res.partner
No public methods.
multi
Many2one → test_new_api.multi
ondelete='cascade'
args: 'test_new_api.multi'
name
Char
partner
Many2one → res.partner
tags
Many2many → test_new_api.multi.tag
No public methods.
name
Char
No public methods.
display_name
Char
compute='_compute_display_name'
store=True
name
Char
required=True
parent
Many2one → test_new_api.recursive
ondelete='cascade'
args: 'test_new_api.recursive'
No public methods.
message
Many2one → test_new_api.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
related='name'
related_related_name
Char
related='related_name'
No public methods.
| REPOSITORY | |
|---|---|
| REPOSITORY | odoo/odoo |
| GIT | |
| GIT | https://github.com/odoo/odoo.git |
| GIT FOLDER | |
| GIT FOLDER | https://github.com/odoo/odoo/tree/10.0/test_new_api |
| VERSION | |
| VERSION | 1.0 |
| CATEGORY | |
| CATEGORY | Tests |
| LICENSE | |
| LICENSE | LGPL-3 |
| APPLICATION | |
| APPLICATION | No |
| AUTO-INSTALLABLE | |
| AUTO-INSTALLABLE | No |
| AUTHORS | |
| AUTHORS | |
| MAINTAINERS | |
| MAINTAINERS | |
| COMMITTERS | |
| COMMITTERS | Raphael Collet, Olivier Dony, Christophe Simonis, Nicolas Martinelli, Nicolas Lempereur, GitHub, Julien Castiaux, Xavier-Do |
| WEBSITE | |
| WEBSITE | |
| LAST TRACKING UPDATE | |
| LAST TRACKING UPDATE | 2026-07-05 23:50:49 |
| 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 API. |
| XML ID | Name | Model | Type | Status |
|---|---|---|---|---|
assets_backend |
test_new_api backend assets | ir.ui.view | qweb | Inherits web.assets_backend |
category_form |
category form view | test_new_api.category | form | New |
category_tree |
category tree view | test_new_api.category | tree | New |
discussion_form |
discussion form view | test_new_api.discussion | form | New |
discussion_form_2 |
discussion form view | test_new_api.discussion | form | New |
discussion_form_3 |
discussion form view | test_new_api.discussion | form | New |
message_form |
message form view | test_new_api.message | form | New |
message_tree |
message tree view | test_new_api.message | tree | New |
multi_form |
multi form view | test_new_api.multi | form | New |
multi_tree |
multi tree view | test_new_api.multi | tree | New |
bool_false
Boolean
default=False
args: 'b2'
bool_true
Boolean
default=True
args: 'b1'
bool_undefined
Boolean
No public methods.
foo
Many2one → test_new_api.foo
compute='_compute_foo'
args: 'test_new_api.foo'
name
Char
value1
Integer
related='foo.value1'
value2
Integer
related='foo.value2'
No public methods.
bar
Char
compute='_compute_bar'
baz
Char
compute='_compute_baz'
store=True
foo
Char
No public methods.
color
Integer
discussions
Many2many → test_new_api.discussion
display_name
Char
compute='_compute_display_name'
inverse='_inverse_display_name'
dummy
Char
store=False
name
Char
required=True
parent
Many2one → test_new_api.category
root_categ
Many2one
compute='_compute_root_categ'
args: _name
read(self, fields=None, load='_classic_read')
foo
Char
company_dependent=True
No public methods.
bar
Char
compute='_compute_bar'
store=True
company
Many2one → test_new_api.company
quantity
Integer
No public methods.
bar
Char
compute='_compute_bar'
inverse='_inverse_bar'
store=True
foo
Char
No public methods.
editions
One2many → test_new_api.creativework.edition
domain=[('res_model', '=', _name)]
args: 'test_new_api.creativework.edition', 'res_id'
name
Char
No public methods.
name
Char
res_id
Integer
required=True
res_model
Char
related='res_model_id.model'
store=True
res_model_id
Many2one → ir.model
required=True
args: 'ir.model'
No public methods.
editions
One2many → test_new_api.creativework.edition
domain=[('res_model', '=', _name)]
args: 'test_new_api.creativework.edition', 'res_id'
name
Char
No public methods.
categories
Many2many → test_new_api.category
emails
One2many → test_new_api.emailmessage
important_emails
One2many → test_new_api.emailmessage
domain=[('important', '=', True)]
args: 'test_new_api.emailmessage', 'discussion'
important_messages
One2many → test_new_api.message
domain=[('important', '=', True)]
args: 'test_new_api.message', 'discussion'
message_concat
Text
string='Message concatenate'
messages
One2many → test_new_api.message
moderator
Many2one → res.users
name
Char
help='General description of what this discussion is about.'
required=True
string='Title'
participants
Many2many → res.users
very_important_messages
One2many → test_new_api.message
domain=<expr>
args: 'test_new_api.message', 'discussion'
No public methods.
email_to
Char
message
Many2one → test_new_api.message
ondelete='cascade'
required=True
args: 'test_new_api.message', 'Message'
No public methods.
name
Char
value1
Integer
value2
Integer
No public methods.
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
discussion
Many2one → test_new_api.discussion
ondelete='cascade'
args: 'test_new_api.discussion'
discussion_name
Char
related='discussion.name'
string='Discussion Name'
display_name
Char
compute='_compute_display_name'
string='Abstract'
double_size
Integer
compute='_compute_double_size'
important
Boolean
name
Char
compute='_compute_name'
store=True
string='Title'
size
Integer
compute='_compute_size'
search='_search_size'
No public methods.
amount
Monetary
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
currency_id
Many2one → res.currency
default=<expr>
args: 'res.currency'
date
Date
lang
Selection
selection='_get_lang'
string='Language'
now
Datetime
compute='_compute_now'
number
Float
default=3.14
digits=(10, 2)
reference
Reference
selection='_reference_models'
string='Related Document'
No public methods.
lines
One2many → test_new_api.multi.line
name
Char
readonly=True
related='partner.name'
partner
Many2one → res.partner
No public methods.
multi
Many2one → test_new_api.multi
ondelete='cascade'
args: 'test_new_api.multi'
name
Char
partner
Many2one → res.partner
No public methods.
display_name
Char
compute='_compute_display_name'
store=True
name
Char
required=True
parent
Many2one → test_new_api.recursive
No public methods.
name
Char
related_name
Char
related='name'
related_related_name
Char
related='related_name'
No public methods.
boolean
Boolean
sparse='data'
char
Char
sparse='data'
data
Serialized
float
Float
sparse='data'
integer
Integer
sparse='data'
partner
Many2one → res.partner
sparse='data'
args: 'res.partner'
selection
Selection
sparse='data'
args: [('one', 'One'), ('two', 'Two')]
No public methods.
| REPOSITORY | |
|---|---|
| REPOSITORY | odoo/odoo |
| GIT | |
| GIT | https://github.com/odoo/odoo.git |
| GIT FOLDER | |
| GIT FOLDER | https://github.com/odoo/odoo/tree/9.0/test_new_api |
| VERSION | |
| VERSION | 1.0 |
| CATEGORY | |
| CATEGORY | Tests |
| LICENSE | |
| LICENSE | LGPL-3 |
| APPLICATION | |
| APPLICATION | No |
| AUTO-INSTALLABLE | |
| AUTO-INSTALLABLE | No |
| AUTHORS | |
| AUTHORS | |
| MAINTAINERS | |
| MAINTAINERS | |
| COMMITTERS | |
| COMMITTERS | Raphael Collet, Christophe Matthieu, Martin Trigaux, Antony Lesuisse, Olivier Dony, Denis Ledoux, Christophe Simonis, Nicolas Martinelli, Nicolas Lempereur, Géry Debongnie, Aaron Bohy, Jeremy Kersten, Yannick Tivisse, Martin Geubelle |
| WEBSITE | |
| WEBSITE | |
| LAST TRACKING UPDATE | |
| LAST TRACKING UPDATE | 2026-07-05 23:48:31 |
| ODOO DEPENDENCIES | |
| ODOO DEPENDENCIES |
odoo/odoo: - base - web |
| PYTHON DEPENDENCIES | |
| PYTHON DEPENDENCIES | Not have |
| SYSTEM DEPENDENCIES | |
| SYSTEM DEPENDENCIES | Not have |
| DESCRIPTION | |
| DESCRIPTION | A module to test the API. |
| XML ID | Name | Model | Type | Status |
|---|---|---|---|---|
category_form |
category form view | test_new_api.category | form | New |
category_tree |
category tree view | test_new_api.category | tree | New |
discussion_form |
discussion form view | test_new_api.discussion | form | New |
discussion_form_2 |
discussion form view | test_new_api.discussion | form | New |
message_form |
message form view | test_new_api.message | form | New |
message_tree |
message tree view | test_new_api.message | tree | New |
multi_form |
multi form view | test_new_api.multi | form | New |
multi_tree |
multi tree view | test_new_api.multi | tree | New |
bool_false
Boolean
default=False
args: 'b2'
bool_true
Boolean
default=True
args: 'b1'
bool_undefined
Boolean
No public methods.
No new fields.
Public methods (0)No public methods.
foo
Many2one → test_new_api.foo
compute='_compute_foo'
args: 'test_new_api.foo'
name
Char
value1
Integer
related='foo.value1'
value2
Integer
related='foo.value2'
No public methods.
No new fields.
Public methods (0)No public methods.
color
Integer
discussions
Many2many → test_new_api.discussion
display_name
Char
compute='_compute_display_name'
inverse='_inverse_display_name'
dummy
Char
store=False
name
Char
required=True
parent
Many2one → test_new_api.category
root_categ
Many2one
compute='_compute_root_categ'
args: _name
read(self, fields=None, load='_classic_read')
categories
Many2many → test_new_api.category
emails
One2many → test_new_api.emailmessage
important_emails
One2many → test_new_api.emailmessage
domain=[('important', '=', True)]
args: 'test_new_api.emailmessage', 'discussion'
important_messages
One2many → test_new_api.message
domain=[('important', '=', True)]
args: 'test_new_api.message', 'discussion'
message_concat
Text
string='Message concatenate'
messages
One2many → test_new_api.message
moderator
Many2one → res.users
name
Char
help='General description of what this discussion is about.'
required=True
string='Title'
participants
Many2many → res.users
very_important_messages
One2many → test_new_api.message
domain=<expr>
args: 'test_new_api.message', 'discussion'
No public methods.
email_to
Char
message
Many2one → test_new_api.message
ondelete='cascade'
required=True
args: 'test_new_api.message', 'Message'
No public methods.
name
Char
value1
Integer
value2
Integer
No public methods.
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
discussion
Many2one → test_new_api.discussion
ondelete='cascade'
args: 'test_new_api.discussion'
discussion_name
Char
related='discussion.name'
display_name
Char
compute='_compute_display_name'
string='Abstract'
double_size
Integer
compute='_compute_double_size'
important
Boolean
name
Char
compute='_compute_name'
store=True
string='Title'
size
Integer
compute='_compute_size'
search='_search_size'
No public methods.
date
Date
lang
Selection
selection='_get_lang'
string='Language'
now
Datetime
compute='_compute_now'
number
Float
default=3.14
digits=(10, 2)
reference
Reference
selection='_reference_models'
string='Related Document'
No public methods.
lines
One2many → test_new_api.multi.line
name
Char
readonly=True
related='partner.name'
partner
Many2one → res.partner
No public methods.
multi
Many2one → test_new_api.multi
ondelete='cascade'
args: 'test_new_api.multi'
name
Char
partner
Many2one → res.partner
No public methods.
display_name
Char
compute='_compute_display_name'
store=True
name
Char
required=True
parent
Many2one → test_new_api.recursive
No public methods.
No new fields.
Public methods (0)No public methods.
No new fields.
Public methods (0)No public methods.
| REPOSITORY | |
|---|---|
| REPOSITORY | odoo/odoo |
| GIT | |
| GIT | https://github.com/odoo/odoo.git |
| GIT FOLDER | |
| GIT FOLDER | https://github.com/odoo/odoo/tree/8.0/test_new_api |
| VERSION | |
| VERSION | 1.0 |
| CATEGORY | |
| CATEGORY | Tests |
| LICENSE | |
| LICENSE | LGPL-3 |
| APPLICATION | |
| APPLICATION | No |
| AUTO-INSTALLABLE | |
| AUTO-INSTALLABLE | No |
| AUTHORS | |
| AUTHORS | OpenERP SA |
| MAINTAINERS | |
| MAINTAINERS | OpenERP SA |
| COMMITTERS | |
| COMMITTERS | Raphael Collet, Antony Lesuisse, Olivier Dony, Denis Ledoux, Christophe Simonis, Xavier Morel, Holger Brunn, Jeremy Kersten, Cédric Pigeon |
| WEBSITE | |
| WEBSITE | http://www.openerp.com |
| LAST TRACKING UPDATE | |
| LAST TRACKING UPDATE | 2026-07-05 23:45:40 |
| ODOO DEPENDENCIES | |
| ODOO DEPENDENCIES |
odoo/odoo: - base |
| PYTHON DEPENDENCIES | |
| PYTHON DEPENDENCIES | Not have |
| SYSTEM DEPENDENCIES | |
| SYSTEM DEPENDENCIES | Not have |
| DESCRIPTION | |
| DESCRIPTION | A module to test the API. |
| XML ID | Name | Model | Type | Status |
|---|---|---|---|---|
category_form |
category form view | test_new_api.category | form | New |
category_tree |
category tree view | test_new_api.category | tree | New |
discussion_form |
discussion form view | test_new_api.discussion | form | New |
message_form |
message form view | test_new_api.message | form | New |
message_tree |
message tree view | test_new_api.message | tree | New |
multi_form |
multi form view | test_new_api.multi | form | New |
multi_tree |
multi tree view | test_new_api.multi | tree | New |
bool_false
Boolean
default=False
args: 'b2'
bool_true
Boolean
default=True
args: 'b1'
bool_undefined
Boolean
No public methods.
No new fields.
Public methods (0)No public methods.
foo
Many2one → test_new_api.foo
compute='_compute_foo'
args: 'test_new_api.foo'
name
Char
value1
Integer
related='foo.value1'
value2
Integer
related='foo.value2'
No public methods.
discussions
Many2many → test_new_api.discussion
display_name
Char
compute='_compute_display_name'
inverse='_inverse_display_name'
name
Char
required=True
parent
Many2one → test_new_api.category
read(self, fields=None, load='_classic_read')
categories
Many2many → test_new_api.category
emails
One2many → test_new_api.emailmessage
important_emails
One2many → test_new_api.emailmessage
domain=[('important', '=', True)]
args: 'test_new_api.emailmessage', 'discussion'
important_messages
One2many → test_new_api.message
domain=[('important', '=', True)]
args: 'test_new_api.message', 'discussion'
message_changes
Integer
string='Message changes'
messages
One2many → test_new_api.message
moderator
Many2one → res.users
name
Char
help='General description of what this discussion is about.'
required=True
string='Title'
participants
Many2many → res.users
very_important_messages
One2many → test_new_api.message
domain=<expr>
args: 'test_new_api.message', 'discussion'
No public methods.
email_to
Char
message
Many2one → test_new_api.message
ondelete='cascade'
required=True
args: 'test_new_api.message', 'Message'
No public methods.
name
Char
value1
Integer
value2
Integer
No public methods.
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
discussion
Many2one → test_new_api.discussion
ondelete='cascade'
args: 'test_new_api.discussion'
discussion_name
Char
related='discussion.name'
display_name
Char
compute='_compute_display_name'
string='Abstract'
double_size
Integer
compute='_compute_double_size'
important
Boolean
name
Char
compute='_compute_name'
store=True
string='Title'
size
Integer
compute='_compute_size'
search='_search_size'
No public methods.
date
Date
lang
Selection
selection='_get_lang'
string='Language'
now
Datetime
compute='_compute_now'
number
Float
default=3.14
digits=(10, 2)
reference
Reference
selection='_reference_models'
string='Related Document'
No public methods.
lines
One2many → test_new_api.multi.line
name
Char
readonly=True
related='partner.name'
partner
Many2one → res.partner
No public methods.
multi
Many2one → test_new_api.multi
ondelete='cascade'
args: 'test_new_api.multi'
name
Char
partner
Many2one → res.partner
No public methods.
No new fields.
Public methods (0)No public methods.
No new fields.
Public methods (0)No public methods.