Skip to Content

Forstå Odoo's Prosjektmodell: En Innføring i Prosjektarkitektur

En komplett guide til Odoos prosjektmodell for utviklere og funksjonelle konsulenter
11. mars 2026 etter
Forstå Odoo's Prosjektmodell: En Innføring i Prosjektarkitektur
Dasolo
| No comments yet

Introduksjon


I Odoo definerer modeller hvordan data er strukturert og lagret i databasen. Hver bit av forretningsdata du jobber med, fra salgsordrer til prosjekter til oppgaver, lever i en modell.


Å forstå Odoo-modeller er essensielt for både utviklere og funksjonelle konsulenter. Modeller er grunnlaget for Odoo-databasearkitekturen. De definerer Odoo-felt, relasjoner og forretningslogikk. Hver modell i Odoo følger de samme mønstrene.


Denne artikkelen fokuserer på en av de viktigste modellene i Odoo: prosjekt.project. Enten du bygger tilpassede moduler, integrerer eksterne systemer eller konfigurerer prosjektarbeidsflyter, vil du jobbe med denne modellen.

Hva er prosjekt.project-modellen


Modellen project.project representerer et prosjekt i Odoo. Det er beholderen for oppgaver, milepæler og team samarbeid. Hvert prosjekt er en post i denne modellen.


Denne modellen i Odoo brukes av Project-appen. Når du oppretter et prosjekt i Odoo, oppretter du en post i project.project. Oppgaver er knyttet til det prosjektet gjennom feltet task_ids. Prosjektet definerer arbeidsflytstadier, teammedlemmer og synlighetsregler.


Modellen er definert i prosjektmodulen. Andre moduler utvider den gjennom Odoo-modellarv. Salg legger til prosjektbasert fakturering. Tidsregistrering legger til tidsoppfølging. Prosjektplanlegging legger til Gantt-planlegging. Hver modul legger til det den trenger uten å duplisere den grunnleggende strukturen.


Å forstå forholdet mellom project.project og project.task er nøkkelen. Prosjektet holder delte innstillinger. Oppgaven holder individuelle arbeidsoppgaver. Begge er sentrale i Odoo prosjektledelsesarbeidsflyten.

Nøkkelfelt i modellen


Her er de viktigste Odoo-feltene i modellen project.project. Å forstå disse vil hjelpe deg å jobbe effektivt med prosjekter.


1. navn

Type: Char. Dette feltet lagrer navnet på prosjektet. Det vises i mange Odoo-visninger og er den primære identifikatoren for prosjektposten.


2. opprettelsesdato

Type: Datetime. Lagrer dato og tid når posten ble opprettet. Administreres automatisk av Odoo. Nyttig for rapportering og revisjon.


3. endringsdato

Type: Datetime. Lagrer dato og tid for den siste modifikasjonen. Også administrert automatisk. Hjelper med å spore når data sist ble oppdatert.


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. Visningsrekkefølge for sortering. Brukes i prosjektlister og nedtrekksmenyer. Lavere verdier vises først.


6. farge

Type: Integer. Fargeindeks for prosjektet. Brukes i visninger og kanban-tavler for å visuelt skille prosjekter.


7. bruker_id

Type: Many2one (res.users). Prosjektlederen. Denne brukeren er ansvarlig for prosjektet og vises ofte som standard tildelt.


8. selskap_id

Type: Many2one (res.company). I fler-selskapsoppsett indikerer dette hvilken Odoo-bedrift prosjektet tilhører.


9. partner_id

Type: Many2one (res.partner). Kunden eller klienten knyttet til prosjektet. Brukes for fakturering og rapportering.


10. beskrivelse

Type: Html. Prosjektbeskrivelse. Kan inkludere HTML for formatering. Brukt for prosjektbeskrivelser og notater.


11. date_start

Type: Dato. Prosjektets startdato. Brukt for planlegging og rapportering.


12. date

Type: Dato. Prosjektets frist eller sluttdato. Brukt for sporing og rapportering.


13. task_ids

Type: One2many (project.task). Listen over oppgaver i prosjektet. Dette er den viktigste relasjonen mellom prosjekter og oppgaver.


14. task_count

Type: Heltall. Antall oppgaver. Beregnet fra task_ids. Brukt for visning og filtrering.


15. type_ids

Type: Many2many (project.task.type). Oppgavestadier eller typer for prosjektet. Definerer arbeidsflyten (f.eks. Til å gjøre, I gang, Ferdig).


16. tag_ids

Type: Many2many (project.tags). Prosjektmerker for kategorisering. Brukes til filtrering og organisering av prosjekter.


17. privacy_visibility

Type: Selection. Kontrollerer hvem som kan få tilgang til prosjektet. Alternativer: Inviterte interne brukere (privat), Alle interne brukere, eller Inviterte portalbrukere og alle interne brukere (offentlig).


18. collaborator_ids

Type: One2many (project.collaborator). Teammedlemmer tildelt prosjektet. Definerer hvem som kan jobbe med prosjektet.


19. favorite_user_ids

Type: Many2many (res.users). Brukere som har merket prosjektet som favoritt. Brukes for rask tilgang i dashbordet.


20. allow_task_dependencies

Type: Boolean. Når True, kan oppgaver knyttes til andre oppgaver som forgjengere eller etterfølgere. Brukes til prosjektplanlegging.


21. allow_milestones

Type: Boolean. Når True, kan milepæler opprettes i prosjektet. Milepæler markerer viktige leveranser.


22. milestone_ids

Type: One2many (project.milestone). Milepælene i prosjektet. Brukes for å spore viktige leveranser.


23. rating_active

Type: Boolean. Når True, kan kundene vurdere prosjektet. Brukes for kundetilbakemelding.


24. task_properties_definition

Type: Text (JSON). Egne oppgaveegenskaper for prosjektet. Definerer ekstra felt som kan legges til oppgaver.


25. access_url

Type: Char. URL-en for kundene til å få tilgang til prosjektet via portalen. Brukes for kundesamarbeid.


26. access_token

Type: Char. Sikkerhetstoken for portaltilgang. Sikrer at kun autoriserte brukere kan se prosjektet.


27. alias_id

Type: Many2one (mail.alias). E-postalias for prosjektet. Innkommende e-poster oppretter oppgaver automatisk.


28. activity_ids

Type: One2many (mail.activity). Planlagte aktiviteter på prosjektet. Brukes for oppfølginger og påminnelser.


29. activity_state

Type: Selection. Sammendrag av aktivitetsstatus: I dag, Forsinket, eller Planlagt. Beregnet fra activity_ids.


30. activity_date_deadline

Type: Date. Datoen for den neste planlagte aktiviteten. Brukes for aktivitetsplanlegging.


31. message_ids

Type: One2many (mail.message). Chatter-meldinger på prosjektet. Brukes for intern kommunikasjon.


32. message_follower_ids

Type: One2many (mail.followers). Brukere som følger prosjektet. De mottar varsler.


33. create_uid

Type: Many2one (res.users). Brukeren som opprettet posten. Automatisk satt av Odoo.


34. write_uid

Type: Many2one (res.users). Brukeren som sist endret posten. Automatisk satt av Odoo.

Hvordan denne modellen brukes i forretningsarbeidsflyter


1. Prosjektopprettelse og -administrasjon

Når en selger eller prosjektleder oppretter et prosjekt, setter de navnet, lederen, datoene og synligheten. Modellen project.project lagrer alt dette. Oppgaver legges deretter til og knyttes til prosjektet.


2. Oppgaveflyt

Oppgaver beveger seg gjennom faser definert av type_ids. Prosjektlederen tildeler oppgaver til samarbeidspartnere. Prosjektet inneholder arbeidsflytkonfigurasjonen og teamstrukturen.


3. Kunderportal

Når privacy_visibility tillater portaltilgang, kan kunder se oppgaver og milepæler via access_url. access_token sikrer lenken. Dette er nyttig for kundeprosjekter.


4. Tidsregistrering og fakturering

Med Timesheet-modulen kobles project.project til tidsregistreringer. Med Salg kan prosjekter knyttes til salgsordrer for prosjektbasert fakturering. partner_id-feltet kobler prosjektet til kunden.


5. E-postintegrasjon

Innkommende e-poster til prosjektaliaset oppretter automatisk oppgaver. alias_id-feltet kobler prosjektet til dets e-postalias. Dette strømlinjeformer opprettelsen av oppgaver fra e-poster.

Hvordan utviklere utvider denne modellen


Utviklere utvider project.project ved å bruke flere mønstre. Odoo-modellarv er hovedmekanismen.


Modellarv

Bruk _inherit = 'project.project' for å utvide modellen. Dette er Odoo-modellarv i aksjon. Legg til nye Odoo-felt, overstyr metoder, eller legg til begrensninger. Den arvede modellen i Odoo holder endringene dine i en egen modul for enkle oppgraderinger. Når du arver en modell i Odoo, utvider du den uten å endre den originale.


Legge til felt

Definer nye Odoo-felt i din arvede modell. Bruk riktig felttype: Char, Many2one, Boolean, Integer, Text, Selection. Vurder selskapsavhengige felt for flere selskaper.


Python-utvidelser

Overstyr create, write, eller unlink for å legge til logikk. Bruk super() for å kalle den originale. Vær forsiktig med beregnede felt og deres avhengigheter.


Odoo Studio

Odoo Studio lar deg legge til felt uten kode. Bra for raske tilpasninger. For kompleks logikk eller oppgraderinger er tilpassede moduler mer vedlikeholdbare.

Beste praksis


  • Sett user_id for prosjektlederoppgave. Klar eierskap forbedrer ansvarlighet.
  • Konfigurer type_ids for hvert prosjekt. Definer faser som samsvarer med arbeidsflyten din.
  • Bruk privacy_visibility riktig. Private prosjekter begrenser tilgang til følgere og administratorer.
  • Når du bygger API-integrasjoner, bruk XML-RPC eller JSON-RPC API. project.project-modellen er fullt eksponert som en API-modell i Odoo. Kartlegg eksterne ID-er nøye.
  • For tilpassede felt, bruk x_ prefikset eller et modulprefiks for å unngå konflikter med fremtidige Odoo-versjoner.

Vanlige feil


  • Opprette oppgaver uten å knytte dem til et prosjekt. Hver oppgave må ha et project_id.
  • Glemme å sette type_ids. Nye prosjekter kan ha ingen faser, så oppgaver kan ikke bevege seg gjennom arbeidsflyten.
  • Sette privacy_visibility til offentlig når det burde være privat. Dette kan eksponere sensitiv data.
  • Overstyre kjerne metoder uten å kalle super(). Dette kan bryte andre moduler eller fremtidige oppgraderinger.
  • Legge til nødvendige tilpassede felt uten standardverdier. Eksisterende poster vil feile validering ved oppgradering.

Konklusjon


Modellen project.project er sentral for Odoo prosjektledelse. Den lagrer prosjektdefinisjoner, arbeidsflytfaser og teamstruktur. Å forstå feltene dens og hvordan moduler utvider den vil hjelpe deg med å konfigurere, tilpasse og integrere Odoo effektivt.


Enten du er en funksjonell konsulent som setter opp prosjekter eller en utvikler som bygger tilpassede moduler, vil en solid forståelse av project.project spare tid og forhindre feil.

Trenger du hjelp med din Odoo-implementering?


Dasolo hjelper selskaper med å implementere, tilpasse og optimalisere Odoo. Vi spesialiserer oss på API-integrasjoner og Odoo-utvikling. Vårt team har dyp erfaring med Odoo dataarkitektur og modeller som project.project.


Hvis du trenger hjelp med din Odoo-implementering, tilpassede moduler eller integrasjoner, er vi her for å hjelpe. Bestill en demo for å diskutere prosjektet ditt.

Forstå Odoo's Prosjektmodell: En Innføring i Prosjektarkitektur
Dasolo 11. mars 2026
Share this post
Logg inn to leave a comment