Odoo 16 Development Book

Field Attributes


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.


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.


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.


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.


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.


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.


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.


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)


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

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


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



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



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



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

Send Us A Message