Skip to Content

Tekstfelt i Odoo: Den Fullstendige Guiden

Alt du trenger å vite om tekstfeltet i Odoo-datamodellen, fra grunnleggende bruk til teknisk tilpasning
6. mars 2026 etter
Tekstfelt i Odoo: Den Fullstendige Guiden
Dasolo
| No comments yet

Introduksjon


Tekstfeltet er en av de mest praktiske felttypene i Odoo. Hver gang en bruker fyller ut et notatfelt, skriver en produktbeskrivelse, eller legger til en intern kommentar på en salgsordre, er det stor sjanse for at de skriver i et tekstfelt.


Det ser ut som et enkelt tekstområde i grensesnittet, men å forstå egenskapene og hvordan det passer inn i Odoo-datamodellen og ORM gjør en reell forskjell når du designer skjemaer, bygger tilpassede moduler, eller setter opp Odoo Studio-felt for teamet ditt.

Denne guiden dekker alt fra hva tekstfeltet lagrer og hvordan det oppfører seg, til reelle forretningsbrukstilfeller, teknisk tilpasning, beste praksis, og feilene de fleste gjør når de velger denne felttypen.

Hva er tekstfeltet i Odoo


I Odoo ORM er fields.Text felttypen for å lagre flerlinjers ren tekst. Det kartlegges til en TEXT kolonne i PostgreSQL, uten lengdebegrensning. Brukere kan skrive en enkelt setning eller flere avsnitt, og feltet håndterer det like godt.


I skjemaer vises det som et resizable <textarea> element. I listevisninger vises det som avkortet ren tekst. I søkevisninger støtter det tekstbasert filtrering akkurat som Char-feltet.


Her er hva en grunnleggende definisjon av Text-feltet ser ut som i et Python-modul:

from odoo import fields, models

class SaleOrder(models.Model):
    _inherit = 'sale.order'

    internal_notes = fields.Text(
        string='Internal Notes',
        translate=False,
    )

I Odoo Studio kalles dette feltet Multi-Line Text. Når det opprettes gjennom Studio, tildeler Odoo automatisk et x_studio_ prefiks. Når du oppretter det gjennom kode eller XML-RPC API, definerer du det tekniske navnet selv.


Hvordan det skiller seg fra Char og Html

Tre felttyper i Odoo kan lagre tekstinnhold, og å vite når man skal bruke hvilken er et vanlig forvirringspunkt:


  • Char-felt: Enkeltlinje tekstinnputt. Best for korte verdier som navn, koder og referanser. Støtter en valgfri størrelsesgrense.
  • Text-felt: Multi-linje tekstområde. Best for notater, beskrivelser og friformkommentarer. Lagrer ren tekst uten formatering.
  • Html-felt: Multi-linje rik tekstredigerer. Best for innhold der formatering er viktig, som e-postmaler, produktbeskrivelser på nettet eller nettsider. Lagrer HTML-markup.

Text-feltet sitter mellom de to. Det gir brukerne mer plass enn et Char-felt, men uten kompleksiteten av HTML-markup. For de fleste interne notater og enkle beskrivelser er det det rette valget i Odoo-datamodellen.

Hvordan feltet fungerer


Når du legger til et Text-felt i en Odoo-modell, oppretter rammeverket automatisk den tilsvarende TEXT-kolonnen i PostgreSQL under installasjon eller oppgradering av modulen. Det er ingen manuelle SQL-migrasjoner involvert.


I motsetning til Char-feltet er det ingen size-parameter tilgjengelig på Text-felt. Databasen kolonnen pålegger ingen tegnbegrensning. Dette er med vilje: Text-felt er ment for åpent innhold der det ikke gir mening å begrense lengden på forhånd.


Nøkkel Felt Attributter

De viktigste egenskapene til et Tekstfelt i Odoo-rammeverket:


  • oversett: Når satt til True, kan feltverdien oversettes per språk. Nyttig for flerspråklige Odoo-installasjoner der teksten endres avhengig av brukerens språk.
  • påkrevd: Gjør feltet obligatorisk på grensesnitt- og ORM-nivå. Brukere kan ikke lagre en post uten å fylle det ut.
  • standard: Setter en automatisk standardverdi når nye poster opprettes. Kan være en statisk streng eller en kallbar metode.
  • beregn: Knytter en Python-metode som genererer feltverdien dynamisk. Nyttig for automatisk genererte sammendrag eller avledet innhold.
  • lagre: Når kombinert med beregn, kontrollerer om den beregnede verdien lagres i databasen. Med lagre=True er verdien søkbar og tilgjengelig i rapporter.
  • kopier: Kontrollerer om feltverdien inkluderes når en post dupliseres. Standard er True. Sett til False for notater som ikke skal overføres til duplikater.
  • indeks: Ikke vanligvis brukt på Tekstfelt siden fulltekstindeksering fungerer annerledes enn den enkle B-tre indeksen som brukes for Char-felt. For søkbar innhold er PostgreSQL fulltekst søk eller Odoos innebygde filtrering generelt tilstrekkelig.

Hvordan det vises i Visninger

I skjema-visninger gjengis Tekstfeltet som en <textarea> som brukere kan endre størrelse på vertikalt. I listevisninger blir innholdet avkortet for å passe kolonnebredden. I søkevisninger støtter det tekstbaserte søkefiltre uten ekstra konfigurasjon når du legger det til søkevisningens definisjon.


I motsetning til Html-felt, laster ikke Tekstfeltet inn en WYSIWYG-editor. Brukere ser et vanlig tekstområde uten formateringsverktøylinje. Det de skriver er nøyaktig det som lagres i databasen, med linjeskift bevart.


Interaksjon med Odoo ORM

Fra et utviklerperspektiv er det enkelt å lese og skrive tekstfelt i Odoo-utvikling. Du får tilgang til verdien direkte på rekordobjektet, og ORM håndterer all vedvarende lagring. Linjeskift lagres som de er. Det er ingen automatisk rensing eller escaping anvendt på vanlige tekstfelt, noe som er en av grunnene til at det er forskjellig fra Html-feltet, hvor Odoo anvender rensing for å forhindre XSS-problemer.

Forretningsbrukstilfeller


Tekstfelt vises gjennom Odoo på steder hvor brukere trenger å skrive mer enn en enkelt linje. Her er fem konkrete eksempler fra virkelige forretningsarbeidsflyter.


Salg: Interne bestillingsnotater

Feltet note på salgsordrer og feltet internal_note som brukes i noen implementeringer er tekstfelt. Salgsrepresentanter bruker dem til å registrere leveringsinstruksjoner, spesielle emballasjekrav eller kundeønsker som ikke passer inn i et strukturert felt. Disse notatene følger med bestillingen og er synlige for driftsteam uten å bli skrevet ut på kundedokumenter.


Lager: Produktinterne notater

På produktformen gir Odoo en Notater fane med et tekstfelt for interne kommentarer. Lagerteam bruker dette til å dokumentere håndteringsinstruksjoner, skjørhetsadvarsler eller leverandørspesifik informasjon. Siden det er ren tekst og ikke vises på nettstedet eller kundedokumenter, er det trygt å skrive operasjonelle detaljer som eksterne parter ikke bør se.


Innkjøp: Leverandørbetingelser og leveringsinstruksjoner

På innkjøpsordrer tillater et tekstfelt for leverandørnotater innkjøpsteam å dokumentere spesifikke avtaler eller leveringsbegrensninger som ble bekreftet over e-post eller telefon. Å ha denne informasjonen knyttet til bestillingsposten forhindrer misforståelser når varene ankommer og den opprinnelige samtalen ikke lenger er lett å finne.


CRM: Mulighetsoppsummeringer og møtenotater

Salgs team som jobber gjennom CRM-pipelinen legger ofte til et tekstfelt til mulighetsopptegnelser for friformnotater fra kundemøter, innvendinger som ble reist, eller kontekst om kjøpsprosessen. I motsetning til chattermeldinger holder et dedikert tekstfelt denne informasjonen strukturert og lett å lese ved første øyekast når noen andre tar over lede.


HR: Ansatt- og søkerkommentarer

HR-team trenger ofte å fange opp intervjunotater, onboarding-kommentarer eller ytelsesobservasjoner i et felt som forblir knyttet til ansatt- eller søkerposten. Et tekstfelt på ansattmodellen er en ren, enkel måte å lagre dette på uten å opprette en egen modell. Det er søkbart, utskriftsvennlig og enkelt å inkludere i tilpassede HR-rapporter.

Opprette eller tilpasse tekstfeltet


Det er tre hovedmåter å legge til et tekstfelt i en Odoo-modell, avhengig av din tekniske kontekst og distribusjonsmetode.


Bruke Odoo Studio (Ingen kode)

Odoo Studio er den enkleste veien for forretningsbrukere og konsulenter som ikke ønsker å skrive kode. For å legge til et tekstfelt uten utviklingsarbeid:

  1. Åpne Odoo Studio fra hovedmenyen (krever Studio-appen).
  2. Naviger til skjemaet der du vil ha feltet.
  3. Dra et Multi-Line Text-felt fra Studio-sidepanelet til skjemaet.
  4. Sett etiketten, påkrevde status og eventuelle standardverdier i feltets egenskapspanel.
  5. Lagre og lukk Studio.

Studio håndterer feltopprettelsen og visningsoppdateringen automatisk. Feltet får et x_studio_-prefiks og er umiddelbart tilgjengelig på skjemaet uten noen databasemigrasjon eller serveromstart.


Bruke Python i en tilpasset modul

For enhver tilpasning som må versjonskontrolleres og distribueres på tvers av flere miljøer, er det rette tilnærmingen å definere feltet i Python. Dette er standard Odoo utviklingspraksis:


from odoo import fields, models

class ResPartner(models.Model):
    _inherit = 'res.partner'

    x_client_notes = fields.Text(
        string='Client Notes',
        translate=False,
        copy=False,
    )

Etter å ha definert feltet i modellfilen, må du legge det til i den relevante visningen XML slik at det vises i grensesnittet. Odoo oppretter databasens kolonne automatisk når du installerer eller oppgraderer modulen. Dette er den anbefalte tilnærmingen for enhver produksjons-Odoo-tilpasning som må vedlikeholdes over tid.


Bruke XML-RPC API

Hvis du administrerer Odoo-felt programmatisk, for eksempel som en del av et distribusjonsskript eller en ekstern konfigurasjonsnotatbok, kan du opprette tekstfelt via XML-RPC API:


field_id = models.execute_kw(
    ODOO_DB, uid, ODOO_API_KEY,
    'ir.model.fields', 'create',
    [{
        'name': 'x_client_notes',
        'field_description': 'Client Notes',
        'model_id': model_id,
        'ttype': 'text',
        'state': 'manual',
        'translate': False,
        'copy': False,
    }]
)

Verdien ttype: text forteller Odoo å opprette et tekstfelt (i motsetning til char for et Char-felt eller html for et Html-felt). Innstillingen state: manual indikerer at dette feltet ble opprettet utenfor en modul, noe som er korrekt for felt opprettet gjennom Studio eller programmatisk via API. Dette er tilnærmingen Dasolo bruker når de distribuerer eksterne feltkonfigurasjoner for kunder.

Beste praksis


1. Bruk tekst når innholdet virkelig trenger flere linjer

Den vanligste feilen er å rekke ut etter et tekstfelt når et char-felt ville vært tilstrekkelig. Hvis verdien er et navn, en kode, en referanse, eller noe som passer på én linje, bruk Char. Reserver tekst for innhold der brukere forventes å skrive setninger eller avsnitt. Å bruke et tekstfelt for en kort enkeltverdi gir en klønete brukeropplevelse og en misvisende datamodell.


2. Bruk Html når formatering er viktig

Hvis brukere trenger å legge til punktlister, fet tekst, hyperkoblinger, eller annen visuell formatering til innholdet, er tekstfeltet feil valg. Bruk et Html-felt i stedet. Tekstfelt støtter kun ren tekst. Å be brukere skrive formatert innhold i et vanlig tekstområde vil føre til frustrerte brukere som forventer formateringsalternativer som ikke er der.


3. Aktiver oversettelse for brukervendte flerspråklige innhold

I selskaper som kjører Odoo på flere språk, bør ethvert tekstfelt som vises på kundevendte dokumenter eller nettstedet ha translate=True. Dette lar oversettere gi språkspesifikke versjoner av innholdet uten å overskrive hverandres arbeid. For interne notater og operative kommentarer som brukerne skriver selv, er oversettelse vanligvis ikke nødvendig.


4. Sett copy=False for notater som ikke skal dupliseres

Når brukere dupliserer en salgsordre eller et produkt, kopieres tekstfeltene som standard. For notater som fanger kontekst spesifikk for den originale posten, som en kundesamtale eller et spesifikt leveringsproblem, kan dette skape forvirring. Sett copy=False på disse feltene slik at dupliserte poster starter med en ren notatseksjon.


5. Bruk compute med store=True for automatisk genererte sammendrag

Tekstfelt kan beregnes dynamisk i Odoo. Et nyttig mønster er å bygge et automatisk generert sammendragfelt som sammenknytter verdier fra andre felt på posten. Med store=True og de riktige @api.depends() utløserne, lagres den beregnede teksten i databasen og blir søkbar i listevisninger og filtre. Dette er en praktisk Odoo-beregnet felttaktikk for å lage lette interne sammendrag uten å bygge en separat rapport.

Vanlige fallgruver


Velge Tekst når Html er nødvendig

Hvis et felt er ment å holde innhold som vises på nettstedet eller i en formatert PDF-rapport, vil bruk av Tekst i stedet for Html fjerne all formatering. Brukere som limer inn innhold med punktlister eller fet tekst i et Tekstfelt, vil se det gjengitt som flat, uformaterte prosa. Spør alltid om utgangskanalen trenger formatering før du velger felttypen.


Velge Tekst når Char er den rette løsningen

Et Tekstfelt gjengis som et høyt, justerbart tekstområde. Hvis et felt bare noen gang skal holde en kort verdi som et sporingsnummer eller en produktvariantkode, gjør bruk av Tekst skjemaet unødvendig stort. Enkeltlinjeinnhold hører hjemme i et Char-felt, som gjengis som et kompakt tekstinnputt som passer naturlig inn i et skjemaoppsett.


Glemme å oversette på flerspråklige etiketter og beskrivelser

På Odoo-installasjoner distribuert på tvers av flere land, betyr det å mangle translate=True attributtet på et brukervendt Tekstfelt at alle brukere ser den samme verdien uavhengig av språkinnstillingen deres. Dette er spesielt problematisk for produktbeskrivelser og kategorinotater som er synlige i grensesnittet. Løsningen er enkel, men å legge det til etter at data allerede er i systemet krever en nøye migrering for å unngå å overskrive eksisterende verdier.


Bruke Tekst for strukturert data

Et Tekstfelt som lagrer JSON, pipe-separerte verdier eller andre håndlagde strukturerte formater er et vedlikeholdsproblem som venter på å skje. Hvis data har en konsekvent struktur, bør det lagres i de riktige Odoo-felttypene: Valg for faste alternativer, Many2one for relasjoner, eller en relatert modell med riktige felt. Å kode struktur inne i et fritekstfelt gjør det umulig å filtrere, gruppere eller rapportere på dataene pålitelig.


Ikke legge til feltet i søkevisningen

Et tekstfelt som inneholder viktig informasjon, men som ikke er inkludert i modellens søkevisning, kan ikke filtreres fra søkefeltet i listevisningen. Brukere ender opp med å bla gjennom poster for å finne det de trenger i stedet for å bare skrive inn et nøkkelord. Hvis et tekstfelt lagrer informasjon som brukere vil søke etter, legg det til i definisjonen av søkevisningen når du oppretter feltet.

Konklusjon


Tekstfeltet er en av de byggesteinene i Odoo-rammeverket som ser ubetydelig ut inntil du begynner å designe skjemaer seriøst.


 Å velge mellom Char, Text og Html er en av de første beslutningene du står overfor i ethvert Odoo-tilpasningsprosjekt, og å få det riktig fra starten unngår omarbeiding og datakvalitetsproblemer senere.

Enten du legger til et notatfelt gjennom Odoo Studio, definerer det i et Python-modul, eller oppretter det programmatisk via API-en, vil mønstrene i denne guiden hjelpe deg med å ta det riktige valget og konfigurere feltet riktig for ditt bruksområde.


En godt utformet Odoo-datamodell er bygget på små, velvalgte beslutninger. Å velge riktig felttype for hver informasjonsbit er en av dem, og tekstfeltet, brukt i riktig kontekst, er et pålitelig og fleksibelt verktøy for å fange innhold som ikke passer pent inn i strukturerte felt.

Hos Dasolo hjelper vi selskaper med å implementere, tilpasse og optimalisere Odoo på tvers av alle avdelinger. Enten du trenger hjelp til å designe en ren datamodell, bygge tilpassede felt og arbeidsflyter, eller sette opp en full Odoo-implementering fra bunnen av, er vårt team her for å støtte deg. Ta kontakt og la oss snakke om ditt Odoo-prosjekt.

Tekstfelt i Odoo: Den Fullstendige Guiden
Dasolo 6. mars 2026
Share this post
Logg inn to leave a comment