원클릭으로
odoo-module-interaction
Interact with other modules, create link modules, and trigger cross-module logic.
Codex 또는 Claude로 설치 이 Prompt를 복사해 Codex, Claude 또는 다른 어시스턴트에 붙여 넣으면 Skill 페이지를 검토하고 설치를 진행할 수 있습니다.
메뉴
Interact with other modules, create link modules, and trigger cross-module logic.
Codex 또는 Claude로 설치 이 Prompt를 복사해 Codex, Claude 또는 다른 어시스턴트에 붙여 넣으면 Skill 페이지를 검토하고 설치를 진행할 수 있습니다.
A router skill that identifies and recommends the most appropriate Odoo skill for a given user request.
Create HTTP endpoints for Websites and APIs.
Comprehensive guide to Odoo fields, including basic, relational, computed, and robust technical features (indexing, company_dependent, properties).
Master the Odoo ORM for data manipulation, environment management, and CRUD operations.
Configure Access Control Lists (ACLs) using CSV files.
Write automated tests using TransactionCase and Form emulators to ensure code quality.
SOC 직업 분류 기준
| name | Odoo Module Interaction |
| description | Interact with other modules, create link modules, and trigger cross-module logic. |
Extend functionality by leveraging other installed modules (e.g., creating an Invoice from the Real Estate module).
A "Link Module" is a module designed to glue two other independent modules together.
__manifest__.py, depend on both modules.
'depends': ['estate', 'account'],
estate doesn't need to know about account, and vice-versa.To extend logic from another module, inherit the model and override methods.
Example: Trigger Invoice Creation on Property Sale
class EstateProperty(models.Model):
_inherit = "estate.property"
def action_sold(self):
# 1. Call super to execute original logic (set state to sold)
res = super().action_sold()
# 2. Add new logic (Create Invoice)
for prop in self:
self.env["account.move"].create({
"partner_id": prop.buyer_id.id,
"move_type": "out_invoice",
"line_ids": [
Command.create({
"name": prop.name,
"quantity": 1,
"price_unit": prop.selling_price * 0.06,
}),
Command.create({
"name": "Administrative Fees",
"quantity": 1,
"price_unit": 100.00,
}),
],
})
return res
Use self.env['model.name'].create(values_dict).
Many2one: Pass the integer ID (e.g., 'partner_id': 5).One2many/Many2many: Use Command tuples (e.g., [Command.create({...})]).print() or a debugger to verify method overrides are triggering.