Odoo 16 Development Book

Field Attributes

Attribute

Attributes are the properties. Every object has some attributes. In Odoo, each model, field, etc., has some properties that are attributes. Here we will be discussing some model attributes.

The most common attributes for a model are String, Required, Default, Readonly, Help, Index, etc.

String

The common attribute used for every field is String.

name = fields.Char(string="Field name")

Here, “name” is the variable name, “Char” is the field type, and string is the attribute. The string values are always added in single or double quotes. That value will be shown on the UI.

Required

By default, required is false. We can add required=True, which will make them as mandatory field

name = fields.Char(string="Field name", required=True)

Values that can be given to required fields are True or False.

Help

Provides help tooltips for users in the UI.

name = fields.Char(string="Name", help="Enter the description")

odoo Development

Here, I have given the help attribute to the name field.

Index

Requests that Odoo creates a Database Index on the column.

name = fields.Char(string="Record name", index=True)

The values that can be given to the index attribute are True or False. By default, the value is False.

Default

We can assign default values for the fields by using the default attributes.

name = fields.Char(string="Field name", default='John')

The default value of the name field will be the value of the default.

Readonly

If we make a field as a read-only field, then we cannot change the field value manually.

name = fields.Char(string="Name", readonly=True)

Readonly has two values, True and False, readonly=True means that the value of the field cannot be changed.

Translate

When the translate attribute is set to true, it makes the field translatable. Depending on the user interface language, it can hold different values.

name = fields.Char(string="Name", translate=True)

Groups

It is used to make the field only available for some user groups.

name = fields.Char(string="Name", groups=”base.user_group”)

States

It helps the user interface to assign value for the necessary, readonly, and invisible attributes dynamically based on the state field's value.

location

Calicut

Cybrosys Technologies Pvt. Ltd.
Neospace, Kinfra Techno Park
Kakkancherry, Calicut
Kerala, India - 673635

location

Kochi

Cybrosys Technologies Pvt. Ltd.
1st Floor, Thapasya Building,
Infopark, Kakkanad,
Kochi, India - 682030.

location

Bangalore

Cybrosys Techno Solutions
The Estate, 8th Floor,
Dickenson Road,
Bangalore, India - 560042

Send Us A Message