Skip to Content

Forstå Odoos Projektmodel: En Guide Til Projektarkitektur

En komplet guide til Odoos projektmodel for udviklere og funktionelle konsulenter
11. marts 2026 af
Forstå Odoos Projektmodel: En Guide Til Projektarkitektur
Dasolo
| Ingen kommentarer endnu

Introduktion


I Odoo definerer modeller, hvordan data er struktureret og gemt i databasen. Hver enkelt del af forretningsdata, du arbejder med, fra salgsordrer til projekter til opgaver, lever i en model.


At forstå Odoo-modeller er essentielt for både udviklere og funktionelle konsulenter. Modellerne er fundamentet for Odoo's dataarkitektur. De definerer Odoo-felter, relationer og forretningslogik. Hver model i Odoo følger de samme mønstre.


Denne artikel fokuserer på en af de vigtigste modeller i Odoo: project.project. Uanset om du bygger tilpassede moduler, integrerer eksterne systemer eller konfigurerer projektarbejdsgange, vil du arbejde med denne model.

Hvad er projekt.project-modellen


Projekt.project-modellen repræsenterer et projekt i Odoo. Det er beholderen for opgaver, milepæle og team samarbejde. Hvert projekt er en post i denne model.


Denne model i Odoo bruges af Project-appen. Når du opretter et projekt i Odoo, opretter du en projekt.project-post. Opgaver er knyttet til det projekt gennem task_ids-feltet. Projektet definerer arbejdsflow-faser, teammedlemmer og synlighedsregler.


Modellen er defineret i projektmodulet. Andre moduler udvider det gennem Odoo-modelarv. Salg tilføjer projektbaseret fakturering. Tidsregistrering tilføjer tidsregistrering. Projektplanlægning tilføjer Gantt-planlægning. Hvert modul tilføjer, hvad det har brug for, uden at duplikere den grundlæggende struktur.


At forstå forholdet mellem projekt.project og projekt.task er nøglen. Projektet indeholder delte indstillinger. Opgaven indeholder individuelle arbejdsopgaver. Begge er centrale for Odoo projektledelsesworkflow.

Nøglefelter i modellen


Her er de vigtigste Odoo-felter i projekt.project-modellen. At forstå disse vil hjælpe dig med at arbejde effektivt med projekter.


1. navn

Type: Char. Dette felt gemmer navnet på projektet. Det vises i mange Odoo-visninger og er den primære identifikator for projektposten.


2. create_date

Type: Datetime. Gemmer datoen og tidspunktet for, hvornår posten blev oprettet. Administreres automatisk af Odoo. Nyttig til rapportering og revision.


3. write_date

Type: Datetime. Gemmer datoen og tidspunktet for den sidste ændring. Også administreret automatisk. Hjælper med at spore, hvornår data sidst blev opdateret.


4. aktiv

Type: Boolean. Soft delete flag. When False, the project is archived and hidden from default views. Records are not physically deleted.


5. sekvens

Type: Integer. Visningsrækkefølge til sortering. Bruges i projektlister og dropdowns. Lavere værdier vises først.


6. farve

Type: Integer. Farveindeks for projektet. Bruges i visninger og kanban-tavler til visuelt at skelne mellem projekter.


7. bruger_id

Type: Many2one (res.users). Projektlederen. Denne bruger er ansvarlig for projektet og vises ofte som den standard tildelte.


8. virksomhed_id

Type: Many2one (res.company). I multi-virksomhedsopsætninger angiver dette, hvilken Odoo-virksomhed projektet tilhører.


9. partner_id

Type: Many2one (res.partner). Kunden eller klienten knyttet til projektet. Bruges til fakturering og rapportering.


10. beskrivelse

Type: Html. Projektbeskrivelse. Kan inkludere HTML til formatering. Bruges til projektbeskrivelser og noter.


11. start_dato

Type: Dato. Projektets startdato. Bruges til planlægning og rapportering.


12. dato

Type: Dato. Projektets deadline eller slutdato. Bruges til sporing og rapportering.


13. opgave_ids

Type: One2many (projekt.opgave). Listen over opgaver i projektet. Dette er den primære relation mellem projekter og opgaver.


14. opgave_antallet

Type: Integer. Antal opgaver. Beregnet ud fra opgave_ids. Bruges til visning og filtrering.


15. type_ids

Type: Many2many (projekt.opgave.type). Opgavestadier eller typer for projektet. Definerer arbejdsgangen (f.eks. At Gøre, I Gang, Færdig).


16. tag_ids

Type: Many2many (project.tags). Projekt tags til kategorisering. Bruges til filtrering og organisering af projekter.


17. privacy_visibility

Type: Selection. Kontrollerer, hvem der kan få adgang til projektet. Muligheder: Inviterede interne brugere (privat), Alle interne brugere eller Inviterede portalbrugere og alle interne brugere (offentlig).


18. collaborator_ids

Type: One2many (project.collaborator). Teammedlemmer tildelt projektet. Definerer, hvem der kan arbejde på projektet.


19. favorite_user_ids

Type: Many2many (res.users). Brugere, der har markeret projektet som favorit. Bruges til hurtig adgang på dashboardet.


20. allow_task_dependencies

Type: Boolean. Når sand, kan opgaver linkes til andre opgaver som forgængere eller efterfølgere. Bruges til projektplanlægning.


21. allow_milestones

Type: Boolean. Når sand, kan milepæle oprettes i projektet. Milepæle markerer nøgleleverancer.


22. milestone_ids

Type: One2many (project.milestone). Milepælene i projektet. Bruges til at spore nøgleleverancer.


23. rating_active

Type: Boolean. Når sand, kan kunderne bedømme projektet. Bruges til kundefeedback.


24. task_properties_definition

Type: Text (JSON). Tilpassede opgaveegenskaber for projektet. Definerer ekstra felter, der kan tilføjes til opgaver.


25. access_url

Type: Char. URL'en for kunder til at få adgang til projektet via portalen. Bruges til kundesamarbejde.


26. access_token

Type: Char. Sikkerhedstoken til portaladgang. Sikrer, at kun autoriserede brugere kan se projektet.


27. alias_id

Type: Many2one (mail.alias). E-mail-alias for projektet. Indgående e-mails opretter automatisk opgaver.


28. activity_ids

Type: One2many (mail.activity). Planlagte aktiviteter på projektet. Bruges til opfølgninger og påmindelser.


29. activity_state

Type: Selection. Oversigt over aktivitetsstatus: I dag, Forsinket eller Planlagt. Beregnet ud fra activity_ids.


30. activity_date_deadline

Type: Date. Datoen for den næste planlagte aktivitet. Bruges til aktivitetsplanlægning.


31. message_ids

Type: One2many (mail.message). Chatterbeskeder på projektet. Bruges til intern kommunikation.


32. message_follower_ids

Type: One2many (mail.followers). Brugere der følger projektet. De modtager notifikationer.


33. create_uid

Type: Many2one (res.users). Den bruger, der oprettede posten. Automatisk indstillet af Odoo.


34. write_uid

Type: Many2one (res.users). Den bruger, der sidst har ændret posten. Automatisk indstillet af Odoo.

Hvordan denne model bruges i forretningsarbejdsgange


1. Projektoprettelse og -styring

Når en sælger eller projektleder opretter et projekt, angiver de navnet, lederen, datoerne og synligheden. Modellen project.project gemmer alt dette. Opgaver tilføjes derefter og knyttes til projektet.


2. Opgaveworkflow

Opgaver bevæger sig gennem faser defineret af type_ids. Projektlederen tildeler opgaver til samarbejdspartnere. Projektet indeholder workflow-konfigurationen og teamstrukturen.


3. Kundeportal

Når privacy_visibility tillader portaladgang, kan kunder se opgaver og milepæle via access_url. access_token sikrer linket. Dette er nyttigt for klientprojekter.


4. Tidsregistrering og fakturering

Med Timesheet-modulet knyttes project.project til tidsregistreringer. Med Salg kan projekter knyttes til salgsordrer for projektbaseret fakturering. partner_id-feltet forbinder projektet med kunden.


5. E-mailintegration

Indgående e-mails til projektaliaset opretter automatisk opgaver. alias_id-feltet forbinder projektet med dets mailalias. Dette strømliner oprettelsen af opgaver fra e-mails.

Hvordan udviklere udvider denne model


Udviklere udvider project.project ved hjælp af flere mønstre. Odoo-modelarv er den primære mekanisme.


Model Arv

Brug _inherit = 'project.project' for at udvide modellen. Dette er Odoo modelarv i aktion. Tilføj nye Odoo felter, overskriv metoder eller tilføj begrænsninger. Den arvede model i Odoo holder dine ændringer i et separat modul for nem opgradering. Når du arver en model i Odoo, udvider du den uden at ændre den originale.


Tilføjelse af Felter

Definer nye Odoo felter i din arvede model. Brug den rigtige felttype: Char, Many2one, Boolean, Integer, Text, Selection. Overvej virksomhedafhængige felter til multi-virksomhed.


Python Udvidelser

Overskriv create, write eller unlink for at tilføje logik. Brug super() for at kalde den originale. Vær forsigtig med beregnede felter og deres afhængigheder.


Odoo Studio

Odoo Studio lader dig tilføje felter uden kode. Godt til hurtige tilpasninger. For kompleks logik eller opgraderinger er brugerdefinerede moduler mere vedligeholdelige.

Bedste praksis


  • Indstil user_id for projektleder tildeling. Klar ejerskab forbedrer ansvarlighed.
  • Konfigurer type_ids for hvert projekt. Definer faser, der matcher dit workflow.
  • Brug privacy_visibility korrekt. Private projekter begrænser adgangen til følgere og administratorer.
  • Når du bygger API-integrationer, brug XML-RPC eller JSON-RPC API. project.project modellen er fuldt eksponeret som en API-model i Odoo. Kortlæg eksterne ID'er omhyggeligt.
  • For tilpassede felter, brug x_ præfikset eller et modulpræfiks for at undgå konflikter med fremtidige Odoo-versioner.

Almindelige fejl


  • Opretter opgaver uden at knytte dem til et projekt. Hver opgave skal have et project_id.
  • Glemmer at indstille type_ids. Nye projekter må ikke have nogen faser, så opgaver kan ikke bevæge sig gennem workflow.
  • Indstiller privacy_visibility til offentlig, når det burde være privat. Dette kan eksponere følsomme data.
  • Overskriver kerne metoder uden at kalde super(). Dette kan bryde andre moduler eller fremtidige opgraderinger.
  • Tilføjer krævede tilpassede felter uden standarder. Eksisterende poster vil fejle validering ved opgradering.

Konklusion


Modellen project.project er central for Odoo projektledelse. Den gemmer projektdefinitioner, workflow faser og teamstruktur. At forstå dens felter og hvordan moduler udvider den vil hjælpe dig med at konfigurere, tilpasse og integrere Odoo effektivt.


Uanset om du er en funktionel konsulent, der opsætter projekter, eller en udvikler, der bygger tilpassede moduler, vil en solid forståelse af project.project spare tid og forhindre fejl.

Har du brug for hjælp med din Odoo-implementering?


Dasolo hjælper virksomheder med at implementere, tilpasse og optimere Odoo. Vi specialiserer os i API-integrationer og Odoo-udvikling. Vores team har dyb erfaring med Odoo-dataarkitekturen og modeller som project.project.


Hvis du har brug for hjælp til din Odoo-implementering, tilpassede moduler eller integrationer, er vi her for at hjælpe. Book en demo for at diskutere dit projekt.

Forstå Odoos Projektmodel: En Guide Til Projektarkitektur
Dasolo 11. marts 2026
Del dette indlæg
Log ind for at skrive en kommentar