Siirry sisältöön

project.project-malli: Odoo Project‑arkkitehtuurin rakenne ja toiminta

Täydellinen opas Odoon projektimalliin kehittäjille ja konsultointiasiantuntijoille — selkeät periaatteet, käytännön vinkit ja esimerkit, jotka auttavat hallitsemaan projekteja järjestelmässä tehokkaasti ja virheettömästi.
11. maaliskuuta 2026 kirjoittanut
project.project-malli: Odoo Project‑arkkitehtuurin rakenne ja toiminta
Dasolo
| Ei vielä kommentteja

Johdanto


Odoossa mallit kertovat, miten liiketoimintatiedot tallennetaan ja jäsennellään tietokantaan. Kaikki se tieto, jonka kanssa työskentelet—myyntitilaukset, projektit, tehtävät—on sidottu tiettyihin malleihin.


Mallien ymmärtäminen on tärkeää sekä kehittäjille että liiketoimintakonsulteille. Mallit muodostavat Odoon tietomallin rungon: ne määrittelevät kentät, suhteet ja niihin liittyvän logiikan. Odoon mallit noudattavat yhtenäisiä periaatteita, joita hyödyntämällä muutokset ja integraatiot on helppo ylläpitää.


Tässä artikkelissa keskitytään yhteen Odoon keskeiseen malliin: project.projectiin. Olitpa rakentamassa räätälöityjä moduuleja, yhdistämässä ulkoisia järjestelmiä tai määrittämässä projektiprosesseja, tulet törmäämään tähän malliin.

Mikä on project.project -malli


Project.project kuvastaa yksittäistä projektia Odoossa. Se toimii säiliönä tehtäville, virstanpylväille ja tiimin yhteistyölle — jokainen projekti on yksi tietue tässä mallissa.


Project-sovellus käyttää tätä mallia: kun luot projektin käyttöliittymästä, syntyy project.project -tietue, ja projektin tehtävät linkittyvät siihen task_ids-kentän kautta. Projekti määrittää käytössä olevat vaiheet, tiimin jäsenet ja näkyvyyssäännöt.


Malli sijaitsee project-moduulissa, mutta muut moduulit laajentavat sitä periyttämällä mallin. Esimerkiksi myyntiin liittyvät moduulit tuovat laskutuksen projekteihin, työtuntikirjaus lisää aikakirjaukset ja projektisuunnittelu tuo Gantt-näkymän. Jokainen moduuli lisää oman toiminnallisuutensa ilman ydintietomallin kopiointia.


Suhteen ymmärtäminen project.projectin ja project.taskin välillä on olennainen: projekti sisältää yleiset asetukset ja rakenteen, tehtävä puolestaan kuvaa yksittäisiä työeriä. Näiden yhteistyö muodostaa Odoon projektinhallinnan ytimen.

Mallin keskeiset kentät


Seuraavaksi läpikäydään tärkeimmät kenttätyypit project.project -mallissa. Niiden tunteminen tekee työskentelystä sujuvampaa ja integraatioista luotettavampia.


1. name

Tyyppi: Char. Projektin nimi, joka näkyy listoissa ja on keskeinen tunniste tietueelle.


2. create_date

Tyyppi: Datetime. Tietueen luontiaika; Odoo hoitaa sen automaattisesti. Hyödyllinen raportoinnissa ja auditoinnissa.


3. write_date

Tyyppi: Datetime. Viimeisin muokkausaika; myös automaattisesti ylläpidetty. Auttaa seuraamaan muutoksia.


4. active

Tyyppi: Boolean. Pehmeä arkistointimerkki; kun False, projekti ei näy oletusnäkymissä mutta tietue säilyy tietokannassa.


5. sequence

Tyyppi: Integer. Järjestysluku listanäkymissä; pienempi arvo tarkoittaa korkeampaa prioriteettia järjestyksessä.


6. color

Tyyppi: Integer. Visuaalinen värikoodi, jolla erotellaan projekteja esimerkiksi kanbanissa.


7. user_id

Tyyppi: Many2one (res.users). Projektin vastuuhenkilö tai päällikkö, joka usein on myös oletusvastuutettu tehtäville.


8. company_id

Tyyppi: Many2one (res.company). Moniyritysympäristössä kertoo, mihin yhtiöön projekti kuuluu.


9. partner_id

Tyyppi: Many2one (res.partner). Projektin asiakas tai kumppani; olennaista laskutuksessa ja asiakassidonnaisessa raportoinnissa.


10. description

Tyyppi: Html. Projektin kuvaus ja muistiinpanot; tuki muotoilulle, käytetään projektin briiffeissä.


11. date_start

Tyyppi: Date. Projektin alkamispäivä, käytetään suunnittelussa ja seurannassa.


12. date

Tyyppi: Date. Projektin päättymispäivä tai deadline, jota seurataan raportoinnissa.


13. task_ids

Tyyppi: One2many (project.task). Lista projektin tehtävistä — pääsuhde projektin ja tehtävien välillä.


14. task_count

Tyyppi: Integer. Tehtävien lukumäärä, laskettu task_ids-kentästä; kätevä näyttö- ja suodatuskenttä.


15. type_ids

Tyyppi: Many2many (project.task.type). Projektikohtaiset tehtävävaiheet; määrittelee työnkulun (esimerkiksi 'Toteutus', 'Testaus', 'Valmis').


16. tag_ids

Tyyppi: Many2many (project.tags). Merkit projektien luokitteluun ja suodatukseen.


17. privacy_visibility

Tyyppi: Selection. Määrittää kenellä on pääsy projektiin: vain kutsutuilla, kaikilla sisäisillä käyttäjillä tai myös portaalikäyttäjille kutsuttaessa.


18. collaborator_ids

Tyyppi: One2many (project.collaborator). Projektin tiimin jäsenet ja heidän roolinsa projektissa.


19. favorite_user_ids

Tyyppi: Many2many (res.users). Käyttäjät, jotka ovat merkinneet projektin suosikiksi nopeaa pääsyä varten.


20. allow_task_dependencies

Tyyppi: Boolean. Sallii tehtävien väliset riippuvuudet, hyödyllinen työvaiheiden ajoituksessa.


21. allow_milestones

Tyyppi: Boolean. Mahdollistaa virstanpylväiden käytön projektissa tärkeiden toimitusten merkitsemiseksi.


22. milestone_ids

Tyyppi: One2many (project.milestone). Projektin virstanpylväät seurattavaksi.


23. rating_active

Tyyppi: Boolean. Asiakas voi arvioida projektin, jos tämä on päällä; hyödyllinen palautteen keräämiseen.


24. task_properties_definition

Tyyppi: Text (JSON). Projektikohtaiset lisäominaisuudet tehtäville; mahdollistaa mukautettujen kenttien määrittelyn.


25. access_url

Tyyppi: Char. Portaalin kautta jaettava URL asiakkaalle projektin näyttämiseen.


26. access_token

Tyyppi: Char. Turva-avain portaalilinkille, jolla varmistetaan rajattu pääsy.


27. alias_id

Tyyppi: Many2one (mail.alias). Sähköpostialias, johon saapuvat viestit voivat luoda tehtäviä automaattisesti.


28. activity_ids

Tyyppi: One2many (mail.activity). Suunnitellut toimenpiteet ja muistutukset projektille.


29. activity_state

Tyyppi: Selection. Lyhyt tilayhteenveto: 'Tänään', 'Menneet' tai 'Suunniteltu', laskettuna activity_ids:stä.


30. activity_date_deadline

Tyyppi: Date. Seuraavan aktiviteetin määräpäivä suunnittelua varten.


31. message_ids

Tyyppi: One2many (mail.message). Projektin keskustelut ja kirjeenvaihto, joita käytetään sisäiseen viestintään.


32. message_follower_ids

Tyyppi: One2many (mail.followers). Projektia seuraavat käyttäjät, jotka saavat ilmoitukset muutoksista.


33. create_uid

Tyyppi: Many2one (res.users). Tietueen luonut käyttäjä; asetetaan automaattisesti.


34. write_uid

Tyyppi: Many2one (res.users). Viimeksi muokannut käyttäjä; myös Odoon ylläpitämä kenttä.

Miten mallia käytetään liiketoimintaprosesseissa


1. Projektin luonti ja hallinta

Kun myynti tai projektipäällikkö luo projektin, määritellään nimi, vastuuhenkilö, aikataulu ja näkyvyys. Project.project tallentaa nämä tiedot, ja tehtävät syntyvät ja linkittyvät projektiin sen jälkeen.


2. Tehtävien työnkulku

Tehtävät etenevät vaiheesta toiseen type_ids-kentässä määritellyn työnkulun mukaan. Projektipäällikkö jakaa tehtäviä tiimin jäsenille, ja projekti säilyttää vaiheet ja roolit.


3. Asiakasportaalin käyttö

Jos näkyvyysasetuksissa sallitaan portaalipääsy, asiakkaat näkevät projektin tiedot access_url:n kautta. access_token varmistaa, että vain kutsutut pääsevät niihin käsiksi—kätevää asiakasprojekteissa.


4. Tuntikirjaukset ja laskutus

Timesheet-moduulin kanssa projektit yhdistyvät tuntimerkintöihin; myyntimoduulin kanssa projektit voi liittää myyntitilauksiin projektikohtaista laskutusta varten. partner_id yhdistää projektin asiakkaaseen.


5. Sähköpostien integrointi

Kun projektille on määritelty sähköpostialias, saapuvat viestit voivat luoda tehtäviä automaattisesti. alias_id kytkee projektin sähköpostiin ja sujuvoittaa tehtävien kirjaamista.

Miten kehittäjät laajentavat mallia


Kehittäjät laajentavat project.projectia useilla tavoilla — pääasiallinen keino on Odoon periytyminen eli inheritance.


Mallin periyttäminen

Laajennat mallia asettamalla _inherit = 'project.project' omaan moduuliisi. Tämän avulla lisäät kenttiä, ylikirjoitat metodeja tai lisäät rajoitteita säilyttäen alkuperäisen mallin koskemattomana. Muutokset ovat erillisessä moduulissa, mikä helpottaa päivityksiä.


Kenttien lisääminen

Lisää tarvittavat kenttätyypit periytettyyn malliin: Char, Many2one, Boolean, Integer, Text, Selection jne. Moniyritystukea vaativissa kentissä huomioi company-dependent-asetukset.


Python-laajennukset

Ylikirjoita tarvittaessa create-, write- tai unlink-metodeja lisälogiikkaa varten, mutta kutsu aina super()-metodia alkuperäisen toiminnallisuuden säilyttämiseksi. Muista huolehtia lasketuista kentistä ja niiden riippuvuuksista.


Odoo Studio

Odoo Studio tarjoaa nopeat mahdollisuudet lisätä kenttiä ilman koodia—hyvä pikamuokkauksiin. Monimutkaisempi liiketoimintalogiikka kannattaa silti toteuttaa omassa moduulissa ylläpidettävyyden takia.

Parhaat käytännöt


  • Aseta user_id projektipäälliköksi — selkeä omistajuus parantaa vastuullisuutta ja raportointia.
  • Määrittele type_ids jokaiselle projektille niin, että vaiheet vastaavat todellista työnkulkua.
  • Käytä privacy_visibility-asetusta oikein: yksityiset projektit rajaavat pääsyn vain seuraajille ja ylläpitäjille.
  • API-integraatioissa hyödynnä XML-RPC- tai JSON-RPC-rajapintaa. Project.project on saatavilla Odoon API:ssa; varmista, että ulkoiset tunnisteet kartoitetaan oikein.
  • Lisättyihin kenttiin käytä x_ -etuliitettä tai omaa moduulietuliitettä konfliktien välttämiseksi tulevissa Odoo-päivityksissä.

Yleisimmät virheet


  • Luomatta jätetyt projektiliitokset: älä luo tehtäviä ilman projektia — jokaisella tehtävällä tulisi olla project_id.
  • Unohdetut stage-määritykset: jos type_ids on tyhjä, projektilla ei ole vaiheita ja tehtävien eteneminen estyy.
  • Väärät näkyvyysasetukset: julkiseksi jätetty projekti voi paljastaa arkaluonteista tietoa ulkopuolisille.
  • Core-metodien ylikirjoittamatta jättäminen super():n kutsua voi rikkoa muiden moduulien odotuksia tai estää päivitykset.
  • Pakolliset mukautetut kentät ilman oletusarvoja voivat estää olemassa olevien tietueiden päivitykset ja rikkoa datan validoinnin.

Yhteenveto


Project.project on Odoon projektinhallinnan keskus: se määrittelee projektit, niiden työnkulut ja tiimirakenteen. Kun ymmärrät kentät ja laajennusmahdollisuudet, voit konfiguroida ja integroida Odoon tehokkaasti.


Olitpa konsultti tai kehittäjä, hyvä ymmärrys project.projectista säästää aikaa ja ehkäisee virheitä käyttöönoton ja räätälöinnin aikana.

Tarvitsetko apua Odoon käyttöönotossa?


Dasolo auttaa yrityksiä ottamaan Odoon käyttöön, räätälöimään sitä ja optimoimaan prosesseja. Erikoisalueitamme ovat API-integraatiot ja Odoo-kehitys — tiimillämme on syvällinen kokemus Odoon tietorakenteista kuten project.project.


Tarvitsetko apua Odoo-käyttöönotossa, mukautetuissa moduuleissa tai integraatioissa? Olemme valmiina auttamaan. Varaa esittely keskustellaksemme projektistasi.

project.project-malli: Odoo Project‑arkkitehtuurin rakenne ja toiminta
Dasolo 11. maaliskuuta 2026
Jaa tämä kirjoitus
Kirjaudu sisään jättääksesi kommentin