Hoppa till innehåll

Odoo-modulutveckling: din första modul i Odoo 18

Från scaffold till fungerande modul

Odoo är byggt för att utökas med egna moduler. Varje anpassning bör vara en modul, inte en ändring i kärnkoden. Det gör uppgraderingar möjliga och håller systemet underhållbart.

Scaffolding

odoo scaffold mitt_modul /mnt/extra-addons skapar grundstrukturen: __init__.py, __manifest__.py, models/, views/, security/. Det tar tre sekunder och ger dig en fungerande grund.

__manifest__.py

Modulens metadata: namn, version, beroenden, datafiler, assets. Beroenden (depends) är kritiskt: om din modul utökar CRM, lägg 'crm' i depends. Odoo installerar beroenden automatiskt.

Modeller

Python-klasser som ärver från models.Model. Varje klass blir en databastabell automatiskt. Fält definieras som klassattribut: name = fields.Char(), amount = fields.Float(), partner_id = fields.Many2one('res.partner'). Relationsfält (Many2one, One2many, Many2many) skapar kopplingar mellan modeller.

Vyer

XML-filer som definierar hur data visas. Formulärvy för enskild post, listvy för överskikt, Kanban för visuell board. Vyer kopplas till modeller och kan ärva och utöka befintliga vyer med XPath.

Säkerhet

ir.model.access.csv definierar vilka användargrupper som får läsa, skriva, skapa och radera poster. Utan denna fil är modellen osynlig för alla utom admin. Det är det vanligaste misstaget vid modulutveckling.

Installera

Uppdatera applikationslistan (Inställningar → Appar → Uppdatera). Sök på modulnamnet. Installera. Odoo skapar tabeller, laddar vyer och konfigurerar säkerhet automatiskt.

Bygg en enkel modul först. Förstå ORM-lagret. Sedan kan du utöka i princip vad som helst.

Odoo kontra SAP och Dynamics: en realistisk jämförelse
David mot Goliat, men David har vuxit