Siirry sisältöön

Odoon Mallin Rekisteri: Ymmärrä ir.model Malli

Täydellinen opas metadatan malliin, joka määrittelee jokaisen Odoo-mallin järjestelmässä
11. maaliskuuta 2026 kirjoittanut
Odoon Mallin Rekisteri: Ymmärrä ir.model Malli
Dasolo
| Ei vielä kommentteja

Johdanto


Odoossa mallit määrittelevät, kuinka tiedot on rakennettu ja tallennettu tietokantaan. Jokainen liiketoimintatieto, jonka kanssa työskentelet, myyntitilauksista laskuihin ja yhteystietoihin, elää mallissa.


Odoo-mallien ymmärtäminen on olennaista sekä kehittäjille että toiminnallisille konsultteille. Mallit ovat Odoo-tietorakenteen perusta. Ne määrittelevät Odoo-kentät, suhteet ja liiketoimintalogiikan.


Mutta minne Odoo tallentaa tietoja jokaisesta järjestelmän mallista? Vastaus on ir.model. Tämä malli Odoossa on rekisteri, joka pitää sisällään metatietoja kaikista muista malleista. Olitpa sitten rakentamassa mukautettuja moduuleja, tutkimassa API:a tai vianetsimässä Odoota, tulet kohtaamaan ir.modelin.

Mikä on ir.model-malli


ir.model-malli on Odoon kaikkien mallien metatietorekisteri. Se tallentaa yhden tietueen per malli järjestelmässä. Kun määrität uuden mallin Pythonissa tai luot sen Odoo Studiolla, Odoo luo tai päivittää ir.model-tietueen.


Tätä mallia Odoossa käyttää perusmoduuli. Se on osa ydinkehystä. Jokaisella Odoo-mallilla, olipa se tavallinen malli, Odoo-abstrakti malli tai Odoo-siirtyvä malli, on vastaava ir.model-tietue.


Malli on määritelty perusmoduulissa. Se on tiiviisti yhteydessä ir.model.fields:iin, joka tallentaa metatietoja jokaisesta Odoo-kentästä jokaisessa mallissa. Yhdessä ir.model ja ir.model.fields muodostavat Odoon introspektio- ja reflektiokyvyn selkärangan.


Kehittäjät käyttävät ir.modelia, kun he tarvitsevat luetella käytettävissä olevat mallit, tarkistaa malliperinnön tai rakentaa dynaamisia työkaluja, jotka toimivat minkä tahansa mallin kanssa. Odoon API-malli altistaa ir.modelin XML-RPC:n ja JSON-RPC:n kautta.

Mallin avainkentät


Tässä ovat tärkeimmät Odoo-kentät ir.model-mallissa. Näiden ymmärtäminen auttaa sinua työskentelemään tehokkaasti mallirekisterin kanssa.


1. nimi

Tyyppi: Char. Tämä kenttä tallentaa mallin ihmisten luettavissa olevan kuvauksen. Se on käännettävissä ja näytetään teknisissä asetuksissa ja kehittäjätyökaluissa. Se on etiketti, jonka näet selatessasi malleja.


2. malli

Tyyppi: Char. Mallin tekninen nimi. Tämä on merkkijono, jota käytät Python-koodissa, kuten res.partner tai sale.order. Se on pakollinen ja indeksoitu nopeita hakuja varten.


3. info

Tyyppi: Teksti. Lisätietoja tai huomautuksia mallista. Käytetään dokumentaatioon ja sisäiseen käyttöön. Useimmille malleille voi olla tyhjää.


4. tila

Tyyppi: Valinta. Ilmaisee, onko malli perus (Odoo-moduuleista) vai manuaalinen (luotu Odoo Studiolla tai mukautetulla koodilla). Perusmalleja suojataan. Manuaalisia malleja voidaan muokata vapaammin.


5. siirtyvä

Tyyppi: Boolean. Kun tosi, tämä malli on Odoo siirtyvä malli. Siirtyvät mallit ovat tilapäisiä. Niiden tietueet puhdistetaan automaattisesti. Käytetään velhoille ja tilapäisille tiedoille.


6. kenttä_id

Tyyppi: One2many (ir.model.fields). Odoo-kenttien luettelo, jotka on määritelty tälle mallille. Jokainen ir.model.fields -tietue kuvaa yhtä kenttää: sen nimeä, tyyppiä ja muita attribuutteja.


7. käyttöoikeus_ids

Tyyppi: One2many (ir.model.access). Käyttöoikeudet tälle mallille. Jokainen tietue määrittelee, mitkä ryhmät voivat luoda, lukea, päivittää tai poistaa tietueita. Käytetään turvallisuuteen.


8. sääntö_ids

Tyyppi: One2many (ir.rule). Tietueiden säännöt tälle mallille. Tietueiden säännöt rajoittavat, mitä tietueita käyttäjät voivat nähdä. Käytetään rivitason turvallisuuteen.


9. peritty_malli_ids

Tyyppi: Many2many (ir.model). Vanhemmat mallit Odoo-mallin perinnön käytön yhteydessä. Kun perit mallin Odoossa, lapsimalli linkittää vanhempansa tähän. Tämä on Odoo-perintömallin toimintaa.


10. moduulit

Tyyppi: Char. Laskettu kenttä, joka luettelee moduulit, joissa tämä malli on määritelty. Useiden moduulien laajentamien mallien osalta tämä näyttää kaikki niistä. Hyödyllinen riippuvuuksien ymmärtämiseen.


11. lajittelu

Tyyppi: Integer. Näyttöjärjestys mallille Teknisten asetusten valikossa. Pienemmät arvot näkyvät ensin. Käytetään malliluettelon järjestämiseen.


12. rajoitukset

Tyyppi: Teksti. Python-rajoitusmääritelmät. Tallentaa koodin @api.constrains-dekoraattoreille. Käytetään, kun mallilla on mukautettua validointilogiiikkaa.


13. jälkirajoitukset

Tyyppi: Teksti. Python-jälkirajoitusmääritelmät. Vastaava kuin rajoitukset, mutta jälkivalidoinnille. Käytetään kehittyneissä validointitilanteissa.


14. sql_rajoitukset

Tyyppi: Teksti. SQL-rajoitusmääritelmät. Tietokannan tason rajoitukset, kuten ainutlaatuiset indeksit. Varmistaa tietojen eheyden tietokannan tasolla.


15. näkymä_id:t

Tyyppi: One2many (ir.ui.view). Laskettu kenttä, joka luettelee tämän mallin kanssa liittyvät näkymät. Käytetään introspektioon ja näkymien hallintaan.


16. tietueiden_lukumäärä

Tyyppi: Kokonaisluku. Lasketaan kenttä, joka näyttää tämän mallin tietueiden määrän. Hyödyllinen raportointiin ja ymmärtämiseen siitä, kuinka paljon tietoa malli sisältää.


17. näyttönimi

Tyyppi: Merkkijono. Lasketaan kenttä näyttöesitykselle. Käytetään, kun tietue näytetään luetteloissa ja suhteissa. Yhdistää tyypillisesti nimen ja mallin.


18. luontipäivämäärä

Tyyppi: Päivämäärä ja aika. Tallentaa päivämäärän ja kellonajan, jolloin tietue luotiin. Odoo hallinnoi automaattisesti.


19. luoja

Tyyppi: Moni2yksi (res.users). Tietueen luonut käyttäjä. Käytetään auditoinnissa ja seurannassa.


20. muokkauspäivämäärä

Tyyppi: Päivämäärä ja aika. Tallentaa viimeisen muokkauksen päivämäärän ja kellonajan. Myös hallinnoitu automaattisesti.


21. muokkaaja

Tyyppi: Moni2yksi (res.users). Tietueen viimeksi muokannut käyttäjä. Käytetään auditoinnissa.


22. aktiivinen

Tyyppi: Boolean. Pehmeä poistoflagi. Kun arvo on False, tietue arkistoidaan. Käytetään vanhentuneille malleille.


23. id

Tyyppi: Integer. Tietokannan ID. Yksilöllinen tunniste jokaiselle ir.model-tietueelle. Käytetään mallin viittaamiseen API-kutsuissa.


24. restrict_functionality

Tyyppi: Boolean. Kun arvo on True, tällä mallilla on rajoitettu toiminnallisuus tietyissä Odoo-versioissa. Käytetään yritys- ja yhteisöversioiden erottamiseen.


25. is_mail_thread

Tyyppi: Boolean. Ilmaisee, onko malli sähköpostiketju. Sähköpostiketjumallit sisältävät keskustelut, viestit ja seuraajat. Käytetään malleille, jotka tukevat keskusteluja.


26. is_mail_activity

Tyyppi: Boolean. Ilmaisee, tukevatko malli toimintoja. Toimintomallit sisältävät toimintasuunnittelijan ja seuraavan toiminnan seurannan.

Kuinka tätä mallia käytetään liiketoimintaprosesseissa


1. Tekninen asetukset ja konfigurointi

Ylläpitäjät käyttävät teknisten asetusten valikkoa mallien selaamiseen. ir.model-tietueet määrittävät, mitä tuossa luettelossa näkyy. Jokainen malli näyttää nimensä, kuvauksen ja kenttäluvun.


2. Käyttöoikeuksien hallinta

Kun määritetään turvallisuutta, järjestelmänvalvojat määrittävät käyttöoikeudet ryhmille. access_ids ir.modelissa määrittää, mitkä ryhmät voivat luoda, lukea, päivittää tai poistaa tietueita jokaiselle mallille.


3. Odoo Studio -räätälöinti

Kun käyttäjät luovat mukautettuja malleja Odoo Studiossa, Odoo luo uusia ir.model-tietueita tilassa manual. field_id-suhde täytetään mukautetuilla Odoo-kentillä.


4. API- ja integraatiotutkimus

Ulkoiset järjestelmät integroituvat Odoo:hon XML-RPC- tai JSON-RPC-API:n kautta. Ne voivat kysyä ir.modelilta saatavilla olevia malleja ja niiden rakennetta. Odoo:n API-malli tarjoaa tämän introspektiota varten.


5. Moduulikehitys ja virheenkorjaus

Kehittäjät käyttävät ir.modelia moduuleja rakennettaessa. He tarkistavat inherited_model_ids ymmärtääkseen Odoo-mallin perintöä. He tarkastelevat field_id:tä nähdäksesi kaikki Odoo-kentät mallissa.

Kuinka kehittäjät laajentavat tätä mallia


Kehittäjät harvoin laajentavat ir.modelia suoraan. Sen sijaan he työskentelevät sen kanssa määrittäessään uusia malleja. Mallirekisteri päivitetään automaattisesti, kun lataat moduulin.


Malliperintö

Kun käytät _inherit = 'res.partner' Pythonissasi, Odoo päivittää ir.model-tietueen res.partnerille. inherited_model_ids uuden mallisi ir.model-tietueessa linkittää vanhempaan. Tämä on Odoo-mallin perintöä toiminnassa. Odoo:n perintömalli pitää rekisterin synkronoituna.


Kenttien lisääminen

Kun lisäät uusia Odoo-kenttiä malliin, Odoo luo ir.model.fields -tietueita. Nämä linkittävät ir.modeliin model_id-kentän kautta. ir.model-tietuetta itsessään ei muuteta.


Python-laajennukset

Et yleensä ylikirjoita ir.model-menetelmiä. Malli on osa ydinkehystä. Jos sinun tarvitsee mukauttaa käyttäytymistä, laajennat ir.modelin kuvaamia malleja, et ir.modelia itseään.


Odoo Studio

Odoo Studio luo ir.model- ja ir.model.fields-tietueita, kun rakennat mukautettuja malleja. Koodia ei tarvita. Siirtyvä lippu erottaa Odoo-siirtyvän mallin tavallisista malleista. Abstraktit mallit (Odoo-abstrakti malli) eivät luo ir.model-tietueita, koska niillä ei ole tietokantataulua.

Parhaat käytännöt


  • Käytä ir.modelia introspektioon ja löytämiseen. Integraatioita rakennettaessa kysy ir.modelilta luettelo saatavilla olevista malleista sen sijaan, että kovakoodaisit.
  • Käytä mallikenttää hakuja varten. Se on indeksoitu. Etsi mallin nimen mukaan, kun tarvitset tietyn mallin metatietoja.
  • Tarkista inherited_model_ids, kun rakennat mukautettuja moduuleja. Ymmärrä perintöketju ennen laajentamista.
  • Käytä Odoo API -mallia (XML-RPC tai JSON-RPC) lukeaksesi ir.modelia. Vältä sen muokkaamista, ellei sinulla ole Studio-tyyppistä työkalua.
  • Käytä ir.model.fields-tietoja kenttäkohtaiselle introspektiolle. field_id-suhde antaa sinulle kaikki Odoo-kentät mallissa.

Yleiset virheet


  • ir.model-tietueiden suora muokkaaminen. Rekisteriä hallinnoi Odoo. Muutokset voivat rikkoa järjestelmän tai tulla ylikirjoitetuiksi päivityksen yhteydessä.
  • Älä sekoita ir.modelia Python-malliluokkaan. ir.model on tietokantatietue. Python-luokka on itse malli. Ne ovat yhteydessä, mutta erilaisia.
  • Oletus, että kaikilla malleilla on ir.model-tietueita. Odoo-abstraktit mallit eivät luo tietokantatauluja tai ir.model-tietueita.
  • Unohtaminen, että siirtyvät mallit ovat tilapäisiä. Siirtyvä lippu tarkoittaa, että Odoo-siirtyvän mallin tiedot puhdistetaan. Älä käytä sitä pysyville tiedoille.
  • Kysely ir.model ilman suodattamista. Tyypillisessä Odoo-instanssissa on satoja malleja. Suodata aina mallin nimen mukaan tai käytä hakudomeeneja.

Yhteenveto


Ir.model-malli on kaikkien Odoo-mallien rekisteri. Se tallentaa metatietoja jokaisesta järjestelmän mallista. Ymmärtäminen sen kentistä ja siitä, miten se liittyy ir.model.fields:iin, auttaa sinua navigoimaan Odoo-tietorakenteessa.


Olitpa sitten toiminnallinen konsultti, joka tutkii teknisiä asetuksia, tai kehittäjä, joka rakentaa API-integraatioita, vahva ymmärrys ir.modelista säästää aikaa ja estää virheitä.

Tarvitsetko apua Odoo-implementaatiossasi?


Dasolo auttaa yrityksiä toteuttamaan, mukauttamaan ja optimoimaan Odoo:ta. Erikoisalaamme ovat API-integraatiot ja Odoo-kehitys. Tiimillämme on syvällistä kokemusta Odoo-tietorakenteesta ja malleista, kuten ir.model.


Jos tarvitset apua Odoo-toteutuksessasi, mukautetuissa moduuleissa tai integraatioissa, olemme täällä auttamassa. Varaa esittely keskustellaksesi projektistasi.

Odoon Mallin Rekisteri: Ymmärrä ir.model Malli
Dasolo 11. maaliskuuta 2026
Jaa tämä kirjoitus
Kirjaudu sisään jättääksesi kommentin