Hoppa till innehåll

Förstå Odoo's Projektmodell: En Inblick i Projektarkitekturen

En komplett guide till Odoos projektmodell för utvecklare och funktionella konsulter
11 mars 2026 av
Förstå Odoo's Projektmodell: En Inblick i Projektarkitekturen
Dasolo
| Inga kommentarer ännu

Introduktion


I Odoo definierar modeller hur data struktureras och lagras i databasen. Varje del av affärsdata du arbetar med, från försäljningsorder till projekt till uppgifter, finns i en modell.


Att förstå Odoo-modeller är avgörande för både utvecklare och funktionella konsulter. Modeller är grunden för Odoos dataarkitektur. De definierar Odoo-fält, relationer och affärslogik. Varje modell i Odoo följer samma mönster.


Denna artikel fokuserar på en av de viktigaste modellerna i Odoo: project.project. Oavsett om du bygger anpassade moduler, integrerar externa system eller konfigurerar projektarbetsflöden, kommer du att arbeta med denna modell.

Vad är projekt.project-modellen


Projekt.project-modellen representerar ett projekt i Odoo. Det är behållaren för uppgifter, milstolpar och team-samarbete. Varje projekt är en post i denna modell.


Denna modell i Odoo används av Projekt-appen. När du skapar ett projekt i Odoo, skapar du en projekt.project-post. Uppgifter är kopplade till det projektet genom task_ids-fältet. Projektet definierar arbetsflödessteg, teammedlemmar och synlighetsregler.


Modellen definieras i projektmodulen. Andra moduler utökar den genom Odoo-modelarv. Försäljning lägger till projektbaserad fakturering. Tidsrapportering lägger till tidsuppföljning. Projektplanering lägger till Gantt-schemaläggning. Varje modul lägger till vad den behöver utan att duplicera kärnstrukturen.


Att förstå relationen mellan projekt.project och projekt.task är nyckeln. Projektet håller gemensamma inställningar. Uppgiften håller individuella arbetsobjekt. Båda är centrala för Odoo:s projektledningsarbetsflöde.

Nyckelfält i modellen


Här är de viktigaste Odoo-fälten i projekt.project-modellen. Att förstå dessa kommer att hjälpa dig att arbeta effektivt med projekt.


1. namn

Typ: Char. Detta fält lagrar namnet på projektet. Det visas i många Odoo-vyer och är den primära identifieraren för projektposten.


2. create_date

Typ: Datetime. Lagrar datum och tid när posten skapades. Hanteras automatiskt av Odoo. Användbart för rapportering och granskning.


3. write_date

Typ: Datetime. Lagrar datum och tid för den senaste ändringen. Också automatiskt hanterad. Hjälper till att spåra när data senast uppdaterades.


4. aktiv

Typ: Boolean. Mjuk raderingsflagga. När False arkiveras projektet och döljs från standardvyer. Poster raderas inte fysiskt.


5. sekvens

Typ: Heltal. Visningsordning för sortering. Används i projektlistor och rullgardinsmenyer. Lägsta värden visas först.


6. färg

Typ: Heltal. Färgindex för projektet. Används i vyer och kanban-tavlor för att visuellt särskilja projekt.


7. användar_id

Typ: Many2one (res.users). Projektledaren. Denna användare ansvarar för projektet och visas ofta som standardtilldelad.


8. företag_id

Typ: Many2one (res.company). I flerföretagsinställningar anger detta vilken Odoo-företag projektet tillhör.


9. partner_id

Typ: Many2one (res.partner). Kunden eller klienten kopplad till projektet. Används för fakturering och rapportering.


10. beskrivning

Typ: Html. Projektbeskrivning. Kan inkludera HTML för formatering. Används för projektbeskrivningar och anteckningar.


11. startdatum

Typ: Datum. Projektets startdatum. Används för planering och rapportering.


12. datum

Typ: Datum. Projektets deadline eller slutdatum. Används för spårning och rapportering.


13. uppgifts_ids

Typ: One2many (project.task). Listan över uppgifter i projektet. Detta är den huvudsakliga relationen mellan projekt och uppgifter.


14. uppgiftsantal

Typ: Heltal. Antal uppgifter. Beräknas från uppgifts_ids. Används för visning och filtrering.


15. typ_ids

Typ: Many2many (project.task.type). Uppgiftsstadier eller typer för projektet. Definierar arbetsflödet (t.ex. Att Göra, Pågående, Klar).


16. tag_ids

Typ: Many2many (project.tags). Projektetiketter för kategorisering. Används för att filtrera och organisera projekt.


17. privacy_visibility

Typ: Val. Kontrollerar vem som kan få tillgång till projektet. Alternativ: Inbjudna interna användare (privat), Alla interna användare, eller Inbjudna portal-användare och alla interna användare (offentlig).


18. collaborator_ids

Typ: One2many (project.collaborator). Teammedlemmar som tilldelats projektet. Definierar vem som kan arbeta med projektet.


19. favorite_user_ids

Typ: Many2many (res.users). Användare som har markerat projektet som favorit. Används för snabb åtkomst i instrumentpanelen.


20. allow_task_dependencies

Typ: Boolean. När sant kan uppgifter kopplas till andra uppgifter som föregångare eller efterföljare. Används för projektplanering.


21. allow_milestones

Typ: Boolean. När sant kan milstolpar skapas i projektet. Milstolpar markerar viktiga leveranser.


22. milestone_ids

Typ: One2many (project.milestone). Milstolparna i projektet. Används för att spåra viktiga leveranser.


23. rating_active

Typ: Boolean. När sant, kan kunder betygsätta projektet. Används för kundfeedback.


24. task_properties_definition

Typ: Text (JSON). Anpassade uppgiftsattribut för projektet. Definierar extra fält som kan läggas till uppgifter.


25. access_url

Typ: Char. URL:en för kunder att få tillgång till projektet via portalen. Används för kundsamarbete.


26. access_token

Typ: Char. Säkerhetstoken för portalåtkomst. Säkerställer att endast auktoriserade användare kan se projektet.


27. alias_id

Typ: Many2one (mail.alias). E-postalias för projektet. Inkommande e-post skapar automatiskt uppgifter.


28. activity_ids

Typ: One2many (mail.activity). Schemalagda aktiviteter på projektet. Används för uppföljningar och påminnelser.


29. activity_state

Typ: Val. Sammanfattning av aktivitetsstatus: Idag, Förfallen eller Planerad. Beräknas från activity_ids.


30. activity_date_deadline

Typ: Datum. Datum för nästa schemalagda aktivitet. Används för aktivitetsplanering.


31. message_ids

Typ: One2many (mail.message). Chatter-meddelanden på projektet. Används för intern kommunikation.


32. message_follower_ids

Typ: One2many (mail.followers). Användare som följer projektet. De får meddelanden.


33. create_uid

Typ: Many2one (res.users). Användaren som skapade posten. Ställs in automatiskt av Odoo.


34. write_uid

Typ: Many2one (res.users). Användaren som senast ändrade posten. Ställs in automatiskt av Odoo.

Hur denna modell används i affärsarbetsflöden


1. Projekt skapande och hantering

När en säljare eller projektledare skapar ett projekt, ställer de in namn, chef, datum och synlighet. Modellen project.project lagrar allt detta. Uppgifter läggs sedan till och kopplas till projektet.


2. Arbetsflöde för uppgifter

Uppgifter rör sig genom faser definierade av type_ids. Projektledaren tilldelar uppgifter till samarbetspartners. Projektet innehåller arbetsflödeskonfigurationen och teamstrukturen.


3. Kundportal

När privacy_visibility tillåter portalåtkomst kan kunder se uppgifter och milstolpar via access_url. access_token säkrar länken. Detta är användbart för kundprojekt.


4. Tidsrapportering och fakturering

Med modulen Tidsrapportering kopplas project.project till tidsrapporter. Med Försäljning kan projekt kopplas till försäljningsorder för projektbaserad fakturering. Fältet partner_id kopplar projektet till kunden.


5. E-postintegration

Inkommande e-post till projektaliaset skapar automatiskt uppgifter. Fältet alias_id kopplar projektet till dess e-postalias. Detta strömlinjeformar skapandet av uppgifter från e-post.

Hur utvecklare utökar denna modell


Utvecklare utökar project.project med flera mönster. Odoo-modellärv är den huvudsakliga mekanismen.


Modellarv

Använd _inherit = 'project.project' för att utöka modellen. Detta är Odoo-modellarv i arbete. Lägg till nya Odoo-fält, åsidosätt metoder eller lägg till begränsningar. Den ärvda modellen i Odoo håller dina ändringar i en separat modul för enkla uppgraderingar. När du ärver en modell i Odoo, utökar du den utan att modifiera originalet.


Lägga till fält

Definiera nya Odoo-fält i din ärvda modell. Använd rätt fälttyp: Char, Many2one, Boolean, Integer, Text, Selection. Tänk på företagsberoende fält för flera företag.


Python-tillägg

Åsidosätt create, write eller unlink för att lägga till logik. Använd super() för att anropa originalet. Var försiktig med beräknade fält och deras beroenden.


Odoo Studio

Odoo Studio låter dig lägga till fält utan kod. Bra för snabba anpassningar. För komplex logik eller uppgraderingar är anpassade moduler mer underhållbara.

Bästa praxis


  • Ställ in user_id för projektledartilldelning. Tydligt ägarskap förbättrar ansvarstagande.
  • Konfigurera type_ids för varje projekt. Definiera steg som matchar ditt arbetsflöde.
  • Använd privacy_visibility korrekt. Privata projekt begränsar åtkomst för följare och administratörer.
  • När du bygger API-integrationer, använd XML-RPC eller JSON-RPC API. Modellen project.project är fullt exponerad som en API-modell i Odoo. Karta externa ID:n noggrant.
  • För anpassade fält, använd x_ prefixet eller ett modulprefix för att undvika konflikter med framtida Odoo-versioner.

Vanliga misstag


  • Skapa uppgifter utan att koppla dem till ett projekt. Varje uppgift måste ha ett project_id.
  • Att glömma att ställa in type_ids. Nya projekt kan ha inga faser, så uppgifter kan inte röra sig genom arbetsflödet.
  • Att ställa in privacy_visibility till offentlig när det borde vara privat. Detta kan exponera känslig information.
  • Att åsidosätta kärnmetoder utan att kalla super(). Detta kan bryta andra moduler eller framtida uppgraderingar.
  • Att lägga till obligatoriska anpassade fält utan standardvärden. Befintliga poster kommer att misslyckas med validering vid uppgradering.

Slutsats


Modellen project.project är central för Odoo projektledning. Den lagrar projektdefinitioner, arbetsflödesfaser och teamstruktur. Att förstå dess fält och hur moduler utökar den kommer att hjälpa dig att konfigurera, anpassa och integrera Odoo effektivt.


Oavsett om du är en funktionell konsult som sätter upp projekt eller en utvecklare som bygger anpassade moduler, kommer en solid förståelse av project.project att spara tid och förhindra fel.

Behöver du hjälp med din Odoo-implementering?


Dasolo hjälper företag att implementera, anpassa och optimera Odoo. Vi specialiserar oss på API-integrationer och Odoo-utveckling. Vårt team har djup erfarenhet av Odoo:s dataarkitektur och modeller som project.project.


Om du behöver hjälp med din Odoo-implementering, anpassade moduler eller integrationer, är vi här för att hjälpa till. Boka en demo för att diskutera ditt projekt.

Förstå Odoo's Projektmodell: En Inblick i Projektarkitekturen
Dasolo 11 mars 2026
Dela detta inlägg
Logga in att lämna en kommentar