Hoppa till innehåll

Projekt.project-modellen: Förstå Odoo:s projektarkitektur

En komplett handbok för Odoos projektmodell — skriven för utvecklare och funktionella konsulter som vill förstå både tekniska detaljer och praktisk användning. Här hittar du en överblick över datamodellen, viktiga fält och relationer, vanliga workflows, samt konkreta tips för anpassningar, moduler och felsökning. Oavsett om du bygger nya funktioner eller konfigurerar systemet för slutanvändare får du en sammanhållen vägledning för att arbeta effektivt med projekt, uppgifter, tidrapportering och integrationer i Odoo-miljön.
11 mars 2026 av
Projekt.project-modellen: Förstå Odoo:s projektarkitektur
Dasolo
| Inga kommentarer ännu

Introduktion


I Odoo beskriver en modell hur information organiseras och sparas i databasen. All affärsdata — från kundorder till uppgifter och projekt — lever i en modell och får där sina fält, relationer och affärsregler.


Att förstå Odoo-modeller är nödvändigt både för utvecklare och funktionella konsulter. Modeller är stomme i Odoos datalandskap: de bestämmer vilka fält som finns, hur poster hänger ihop och var affärslogiken sitter. De följer konsekventa mönster som gör det lättare att förutsäga beteenden i systemet.


Den här texten koncentrerar sig på en särskilt viktig modell: project.project. Oavsett om du skapar egna moduler, kopplar ihop Odoo med andra system eller ställer in projektprocesser i företaget kommer du att möta den här modellen ofta.

Vad är modellen project.project?


Modellen project.project är Odoos representation av ett projekt — själva behållaren som rymmer uppgifter, milstolpar och teamets inställningar. Varje projekt i systemet är en rad i denna modell och fungerar som navet för projektarbete.


Project-appen använder project.project som sin grundstruktur. När du lägger upp ett nytt projekt skapas en project.project-post; uppgifter kopplas till den via relationen till uppgiftsfältet. Projektet bestämmer också vilka steg som används, vilka som ingår i teamet och vilka synlighetsregler som gäller.


Modellen definieras i projektmodulen, och resten av Odoo kan bygga vidare på den genom arv. Försäljning lägger till funktioner för projektfakturering, tidrapportering kopplas in via Timesheet och planeringstillägg ger Gantt-scheman — alla bygger ovanpå samma kärnstruktur utan att duplicera den.


Relationen mellan project.project och project.task är central: projektet innehåller gemensamma inställningar och struktur, medan varje task representerar ett enskilt arbetsobjekt. Tillsammans bildar de kärnan i Odoos projektflöde.

Viktiga fält i modellen


Nedan följer de viktigaste fälten i project.project — känna till dem gör det lättare att administrera, rapportera och utveckla mot projekt i Odoo.


1. name

Typ: Char. Projektets titel. Visas i listor och vyer och fungerar som huvudidentifierare för posten.


2. create_date

Typ: Datetime. Tidpunkten när posten skapades. Hanteras automatiskt och är värdefull vid rapportering och revision.


3. write_date

Typ: Datetime. Tidpunkt för senaste ändring. Automatiskt uppdaterad och viktig för spårbarhet.


4. active

Typ: Boolean. Indikerar om projektet är aktivt eller arkiverat. Arkiverade poster dödas inte fysiskt utan göms i standardvyer.


5. sequence

Typ: Integer. Bestämmer sorteringsordningen i listor och dropdown-menyer — lägre tal visas först.


6. color

Typ: Integer. Färgindex som används i kanban- och översiktsvyer för visuell distinktion mellan projekt.


7. user_id

Typ: Many2one (res.users). Projektledaren eller ansvarig användare. Ofta förvalt som uppgiftsansvarig.


8. company_id

Typ: Many2one (res.company). Visar vilken koncern/enhet projektet hör till vid multi-företagsuppsättningar.


9. partner_id

Typ: Many2one (res.partner). Kunden eller externa parten kopplad till projektet — viktig för fakturering och kundrapportering.


10. description

Typ: Html. Beskrivning av projektet, fri text med enkel formatering som används för projektbriefar och anteckningar.


11. date_start

Typ: Date. Projektets startdatum — används i planering och rapporter.


12. date

Typ: Date. Projektets slutdatum eller deadline — viktigt för uppföljning.


13. task_ids

Typ: One2many (project.task). Listan över uppgifter i projektet — huvudrelationen mellan projekt och uppgifter.


14. task_count

Typ: Integer. Antal uppgifter, vanligtvis beräknat från task_ids; används i vyer och filter.


15. type_ids

Typ: Many2many (project.task.type). De steg eller stadier som gäller för projektets uppgifter — exempelvis att-göra, pågår, klart.


16. tag_ids

Typ: Many2many (project.tags). Taggar för kategorisering och filtrering av projekt.


17. privacy_visibility

Typ: Selection. Styrs vem som får se projektet: endast inbjudna internanvändare, alla internanvändare, eller portal-användare plus intern användare (publikt).


18. collaborator_ids

Typ: One2many (project.collaborator). Teammedlemmar kopplade till projektet — de som får arbeta med uppgifterna.


19. favorite_user_ids

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


20. allow_task_dependencies

Typ: Boolean. Tillåter att uppgifter länkas som föregångare/efterföljare — användbart för planering och beroenden.


21. allow_milestones

Typ: Boolean. Aktiverar möjligheten att skapa milstolpar i projektet — för att markera viktiga leveranser.


22. milestone_ids

Typ: One2many (project.milestone). Projektets milstolpar, som underlättar uppföljning av kritiska datum.


23. rating_active

Typ: Boolean. Tillåter kunder att betygsätta projektet — nyttigt för kundfeedback.


24. task_properties_definition

Typ: Text (JSON). Möjlighet att definiera egna uppgiftsegenskaper för projektet — extra fält eller metadata.


25. access_url

Typ: Char. Länk för kundåtkomst via portal — underlättar samarbete med externa parter.


26. access_token

Typ: Char. Säkerhets-token för portalåtkomst så att endast behöriga når projektets vyer.


27. alias_id

Typ: Many2one (mail.alias). E-postalias för projektet — inkommande mejl kan automatiskt skapa uppgifter.


28. activity_ids

Typ: One2many (mail.activity). Schemalagda aktiviteter kopplade till projektet för uppföljning och påminnelser.


29. activity_state

Typ: Selection. Beräknat fält som summerar aktivitetsstatus: Idag, Försenat eller Planerat, baserat på activity_ids.


30. activity_date_deadline

Typ: Date. Datum för nästa planerade aktivitet — hjälper till att prioritera åtgärder.


31. message_ids

Typ: One2many (mail.message). Chatter-meddelanden och diskussioner kopplade till projektet för internkommunikation.


32. message_follower_ids

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


33. create_uid

Typ: Many2one (res.users). Användaren som skapade posten, sätts automatiskt av systemet.


34. write_uid

Typ: Many2one (res.users). Användaren som senast ändrade posten, också automatiskt satt av Odoo.

Hur modellen används i affärsprocesser


1. Skapa och hantera projekt

När en projektansvarig eller säljare skapar ett projekt fyller de i namn, ansvarig, datum och synlighet. All denna information lagras i project.project, varefter uppgifter skapas och länkas till projektet för att genomföra arbetet.


2. Uppgiftsflöde

Uppgifter rör sig genom de steg som definierats i type_ids. Projektledaren fördelar uppgifter till medarbetare och projektet håller reda på både arbetsflöde och teamstruktur.


3. Kundportal

Om projektet tillåter portalåtkomst kan kundens kontaktpersoner följa uppgifter och milstolpar via access_url. Access_token säkerställer att bara behöriga kan se projektsidan — praktiskt för kundprojekt och samarbete.


4. Tidsrapportering och fakturering

Med Timesheet kopplat registreras tid mot projektet. I kombination med försäljning kan projekt knytas till order för projektbaserad fakturering. partner_id länkar projektet till rätt kund.


5. E-postintegration

Genom alias_id kan inkommande mejl omvandlas till uppgifter automatiskt — smidigt för att ta hand om supportärenden och inkommande uppdrag utan manuellt arbete.

Hur utvecklare bygger ut modellen


Utvecklare bygger ut project.project med Odoos arvsmekanismer och några beprövade mönster för att behålla kompatibilitet och uppgraderingsmöjligheter.


Modellarv

Använd _inherit = 'project.project' i din modul för att bygga vidare på modellen. Så lägger du till fält, skriver om metoder eller lägger till begränsningar utan att ändra originalkoden — vilket gör det enklare att underhålla och uppgradera.


Lägga till fält

I den ärvda modellen deklarerar du nya fält av rätt typ: Char, Many2one, Boolean, Integer, Text eller Selection. Tänk på företagsspecifika fält (company-dependent) vid multi-company-installationer.


Python-utvidgningar

Skriv om create, write eller unlink för att infoga egen logik, men anropa alltid super() där det behövs. Var särskilt försiktig med beräknade fält och deras beroenden så att de uppdateras korrekt.


Odoo Studio

Studio är smidigt för snabba ändringar och mindre anpassningar utan kod. För mer komplexa behov eller långsiktig underhållbarhet rekommenderas dock egen modulutveckling.

Bästa praxis


  • Sätt user_id för tydligt ansvar och ägarskap — det förenklar kommunikation och uppföljning.
  • Konfigurera type_ids så att varje projekt har rätt steg för ert arbetssätt — annars kan uppgifter fastna utan tydliga övergångar.
  • Använd privacy_visibility med omsorg så att känslig information inte blir synlig för fel användargrupper.
  • När du bygger API-integrationer, använd XML-RPC eller JSON-RPC. Modeln project.project exponeras fullt i Odoos API — matcha externa ID:n noggrant för konsistens mellan system.
  • För egna fält, använd x_ eller ett modulprefix i fältnamnet för att undvika namnkonflikter vid framtida Odoo-uppgraderingar.

Vanliga misstag


  • Att skapa uppgifter utan att koppla dem till ett projekt görs ibland av misstag — varje task bör ha project_id satt.
  • Glöm inte att definiera type_ids. Ett nytt projekt utan steg innebär att uppgifter saknar workflow att röra sig genom.
  • Felaktigt satt privacy_visibility till publikt när information borde vara privat kan leda till dataläckage — kontrollera detta noggrant.
  • Att skriva om kärnmetoder utan att anropa super() kan skada kompatibilitet med andra moduler och framtida Odoo-uppgraderingar.
  • Lägga till obligatoriska egna fält utan att ge befintliga poster värden kan göra att systemet bryter vid uppgradering — hantera migrationsvärden och default noggrant.

Sammanfattning


Sammanfattningsvis är project.project navet i Odoos projektfunktionalitet. Den lagrar projektdefinitioner, arbetsflöden och teamstruktur. Kännedom om modellens fält och hur andra moduler bygger vidare på den gör det enklare att både konfigurera och utveckla Odoo-lösningar.


Oavsett om du arbetar som systemadministratör som sätter upp projekt eller som utvecklare som skapar moduler, sparar en god förståelse för project.project tid och minskar risken för fel.

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


Dasolo hjälper företag att införa, anpassa och optimera Odoo-lösningar. Vi har särskild erfarenhet av API-integrationer och skräddarsydd utveckling kring Odoo:s datamodeller som project.project.


Behöver du stöd med Odoo-implementeringar, anpassade moduler eller integrationer kan vi hjälpa till hela vägen. Boka en demo för att diskutera ditt projekt.

Projekt.project-modellen: Förstå Odoo:s projektarkitektur
Dasolo 11 mars 2026
Dela detta inlägg
Logga in att lämna en kommentar