Interviewing Odoo Question answer
List of Things Every Odoo Developer Should Know
- The knowledge of Python itself. Before learning Odoo he must master the Python language. Besides, the knowledge of OOP and understanding of model-view-controller patterns are must-have, as these are strongly used by Odoo.
- Strong JavaScript skills. Even though, Odoo is “all in one”, modern browsers do not understand Python scripts. And frontend part is written on JavaScript.
- XML/HTML. This technology will be used more often than JavaScript. Odoo authors have done all they could to minimize your contact with JavaScript. The usage of XML/HTML is required from time to time when you have specific controllers and data handlings. It is very convenient as there are XML files where you will design views, templates, menus, and internal data (access groups, predefined records). Also, Odoo developer is able to design web templates thus, he needs to understand HTML design. But HTML is part of XML, so they are put together.
- SQL. Odoo has a great ORM layer, but sometimes you will have specific reports or situations when you would need query data directly. Or you may need to debug and understand some functionality that uses direct queries. That’s when SQL will come in-handy.
Below are just examples of questions that will show the experience and skills of the interviewed candidate.
What is the purpose of key “data” in the manifest file?
It contains the predefined data records in XML or CSV formats. They can contain menus and views and predefined configuration data (payment types, charts of account, etc).
Which type of models used for wizards?
Wizard models are not stored in a database. Records are created temporary and removed when operations are finished. Special class TransientModel is used for them.
What is the purpose of record rules?
Record rules let you configure access based on record data. For example, you can see products only with specific tags, or invoices created only by the user or his subordinates.
How to make your custom function be parsed by the “t-esc” directive of the QWeb engine?
I need to inherit from report_sxw.rml_parse, and then add this class as _wrapped_report_class in the abstract report model.
For creating One2many relation to other models what additionals you need?
Many2one fields in relation model.
Which fields used for a model inheritance?
Internal fields _inherit, _inherits, _name are used to specify the inheritance type.
What different types of model inheritance are used in Odoo?
- Class inheritance with the same name and parent name inherit used to add features. Compatible with existing views and stored in the same table.
- Prototype inheritance. New _name and parent name in _inherit. Used to copy features. Stored in different tables. Ignored by views.
- Delegation inheritance. New _name and using _inherits. Multiple inheritances with created embedded instances of inherited objects.
What will be the “id” attribute in the “record” tag of the XML file?
With the prefixed module name, it will be a unique external identifier in the Odoo database. It will be accessible by self.env.ref(“id”) in any part of the code.
Describe the developer mode of Odoo.
In this mode, the administrator will get several additional menus and operations. Able to read and edit views, see metadata, read information about each field, etc.
You added a new field in the inherited model. How you will add this field to view?
I will inherit the base view and add field specifying its position by XPath or by linking it to a unique element.
Some of the Other Question are follow below
- Tell About Odoo..?
- Tell about openerp-framework..?
- Diff b/w v7 and v8..?
- Projects Done by you..?
- Tell about odoo warehouse management..?
- Tell about odoo Accounting system..?
- One2many and many2many fields and its uses..?
- How can you change a attribute of field using inheritance..?
- How can you change UI of Odoo..?
- ORM methods and its uses..?
- How will you check whether the recordset is singleton..?
- How will you write a computed Fields in v8..?
- How will you write a onchange field in v8..?
- What are ways to give default value to field..?
- What are the ways to give constraint to field..?
- Tell about domains and default operation b/w each criteria..?
- Tell about levels of security in odoo.?
- Tell about webcontrollers and its uses..?
- How will you create a qweb report..?
- How will you loop in qweb reports..?
- How will you set attribute of a element in qweb report..?
- Readonly fields will not be stored in db, so what will you do here..?
- Std price and Average price in product view..?
- Main Elements of MRP..?
- Concept of drop shipping in odoo..?
- Concept of landing cost in odoo..?