Init Hooks
The manifest file's init hook can be used to perform any operation you desire. This section demonstrates how to use the init hook to generate some records.Post_ init_hook is used for this.
We are generating records using the student.student model.
from odoo import fields, models
class Student(models.Model):
_name = "student.student"
_description = "Student"
name = fields.Char(string="Name", required=True)
phone = fields.Char(string="Phone Number")
email = fields.Char(string="Email", required=True)
By using the key register the hook in the __manifest__.py file, this is the first step. Post_init_hook. Odoo will look for the corresponding method in the init file and execute it after the module has been installed.
'post_init_hook': 'create_student',
In the init file, add the create_student() method. In this method, we use the create method to create a sample student record.
In a real-time scenario, we can implement complex business logic here.
from odoo import api, SUPERUSER_ID
def create_student(cr, registry):
env = api.Environment(cr, SUPERUSER_ID, {})
env['student.student'].create({
'name': 'Student 1',
'phone': '+7865 6675 2341',
'email': 'student1@student.com'
})
Additionally, Odoo supports two more hooks.
Those are pre_init_hook hook and uninstall_hook. The pre_init_hook will be called before the module installation. The uninstall_hook is called at the time of module installation.