Fält och widgetar¶
Fields structure the models of a database. If you think of a model as a table or spreadsheet, fields are the columns and records are the individual rows. Fields also define the type of data that is stored within them. The way in which a field’s data is presented and formatted on the UI is controlled by its widget.
With Studio, it is possible to:
add new fields to your database. From a technical point of view, there are 15 field types in Odoo. However, you can choose from 21 field types in Studio, as some field types are available more than once with a different default widget;
add existing fields, i.e., fields that already exists on a model, to any view of that model;
Studio fields vs. property fields
Fields created using Studio are saved as columns in your Odoo database. Property fields, on the other hand, act as pseudo-fields; they are shared by all records that are linked to the same parent record (e.g., for tasks, the project, or for a product, the product category), but they are not saved as columns in your database.
Example
Adding a Deadline field to the form view of a task using Studio makes that field visible in every task in your database. Adding a Special instructions property field to a task makes the field visible in all tasks within the same project (i.e., its parent) while other projects’ tasks remain unaffected.
Field types¶
Fields can be broadly divided into two categories:
Simple fields, which contain basic values, such as text, numbers, files, etc.
Relational fields, which are used to link and display the data from records on another model.
AI fields
AI fields are essentially standard Odoo fields with added AI capabilities that allow their values to be generated automatically through prompts.
Enkla fält¶
Observera
Non-default widgets, when available, are presented as bullet points or sub-headings.
Text (char)¶
Fältet Text används för kort text som innehåller valfritt tecken. En textrad visas när fältet fylls i.
Badge: visar värdet inuti en rundad form, liknande en tagg. Värdet kan inte redigeras i användargränssnittet, men ett standardvärde kan anges.
Copy to Clipboard: användare kan kopiera värdet genom att klicka på en knapp.
E-post: värdet blir en klickbar mailto-länk.
Image: visar en bild med hjälp av en URL. Värdet kan inte redigeras manuellt, men ett standardvärde kan anges.
Observera
This works differently from selecting the Image field directly, as the image is not stored in Odoo when using a Text field with the Image widget. For example, it can be useful if you want to save disk space.
Phone: värdet blir en klickbar tel-länk.
Tips
Bocka i Enable SMS för att lägga till ett alternativ för att skicka ett SMS direkt från Odoo bredvid fältet.
URL: värdet blir en klickbar URL.
Example
Text med flera rader (text)¶
Fältet Multiline Text används för längre text som innehåller alla typer av tecken. Två textrader visas på användargränssnittet när fältet fylls i.
Copy to Clipboard: användare kan kopiera värdet genom att klicka på en knapp.
Example
Heltal (integer)¶
Fältet Integer används för alla heltal (positivt, negativt, eller noll, utan decimal).
Percentage Pie: visar värdet inuti en procentcirkel, vanligtvis för ett beräknat värde. Värdet kan inte redigeras i användargränssnittet, men ett standardvärde kan anges.
Progressstapel: visar värdet bredvid en procentstapel, vanligtvis för ett beräknat värde. Fältet kan inte redigeras manuellt, men ett standardvärde kan anges.
Handle: visar en draghandtagsikon för att beställa poster manuellt i Listvy.
Example
Decimal (float)¶
Fältet Decimal används för alla decimaltal (positiv, negativ eller noll, med decimal).
Observera
Decimaltal visas med två decimaler efter decimaltecknet på användargränssnittet, men de lagras i databasen med större precision.
Valutafält: liknar användningen av valutafältet. Det rekommenderas att använda det senare eftersom det erbjuder fler funktioner.
Percentage: visar ett procenttecken
%efter värdet.Percentage Pie: visar värdet i en procentcirkel, vanligtvis för ett beräknat värde. Fältet kan inte redigeras manuellt, men ett standardvärde kan anges.
Progressstapel: visar värdet bredvid en procentstapel, vanligtvis för ett beräknat värde. Fältet kan inte redigeras manuellt, men ett standardvärde kan anges.
Time: värdet måste följa formatet hh:mm, med ett maximum på 59 minuter.
Example
Monetära (monetära)¶
Fältet Monetary används för alla monetära värden.
Observera
När du först lägger till ett Monetary-fält uppmanas du att lägga till ett Currency-fält om det inte redan finns något i modellen. Odoo erbjuder sig att lägga till Currency-fältet åt dig. När det har lagts till lägger du till Monetary-fältet igen.
Example
Html (html)¶
Fältet Html används för att lägga till text som kan redigeras med Odoos HTML-redigerare.
Multiline Text: inaktiverar Odoo HTML-editor för att tillåta redigering av rå HTML.
Example
Datum (datum)¶
Fältet Date används för att välja ett datum i en kalender.
Relative Date: expresses the field value in relation to the current date using relative terms such as Yesterday, Today, In 3 days, 2 months ago, etc. This field should be set to Read only.
Example
Datum och tid (datetime)¶
Fältet Datum & Tid används för att välja ett datum i en kalender och en tid i en klocka. Användarens aktuella tid används automatiskt om ingen tid anges.
Tips
Förutom allmänna egenskaper finns vissa specifika egenskaper tillgängliga för datum- och tidfält som har widgeten Datum och tid eller Datumintervall inställd.
Datumintervall (daterange)¶
Widgeten Datumintervall används för att visa en tidsperiod som definieras av ett startdatum och ett slutdatum på en enda rad. Ett datumintervall kan ha ett obligatoriskt start- och slutdatum, t.ex. för en flerdagars händelse, eller tillåta ett valfritt start- eller slutdatum, t.ex. för en fältserviceinsats eller en projektarbetsuppgift.
Att lägga till ett datumintervall kräver två fält: ett datum- och tidfält med widgeten Datumintervall inställd och ett annat fält som väljs som startdatum eller slutdatum. Detta underliggande fält kan vara ett befintligt datum- eller datum- och tidfält, eller ett som skapats specifikt för detta ändamål.
Så här lägger du till ett datumintervall:
Identifiera ett befintligt datum- eller datum- och tidfält som kan användas som underliggande start-/slutdatumfält, eller lägg till ett nytt. Om datumintervallet:
har ett obligatoriskt startdatum och slutdatum kan detta fält vara antingen startdatumet eller slutdatumet; resultatet är detsamma.
tillåter ett valfritt start- eller slutdatum är detta fält startdatumet respektive slutdatumet.
Tips
För att undvika att visa samma information två gånger kan det underliggande start-/slutdatumfältet göras osynligt genom att aktivera Osynlig eller tas bort från vyn genom att klicka på Ta bort från vy.
Lägg till ett datum- och tidfält och ställ in fältet Widget till Datumintervall.
Ange en lämplig etikett.
Välj det underliggande start-/slutdatumfältet från rullgardinsmenyn Startdatumfält eller Slutdatumfält, beroende på vad som är relevant.
Om datumintervallet ska ha ett obligatoriskt start- och slutdatum aktiverar du Alltid intervall.
Uppgradera eventuella andra allmänna egenskaper eller specifika egenskaper för datum- och tidfält efter behov och klicka sedan på Stäng i skärmens övre högra hörn.
Example
Kryssruta (boolean)¶
Fältet Checkbox används när ett värde endast ska vara sant eller falskt, vilket anges genom att markera eller avmarkera en kryssruta.
Button: visar en radioknapp. Widgeten fungerar utan att växla till redigeringsläget.
Toggle: visar en växlingsknapp. Widgeten fungerar utan att växla till redigeringsläget.
Example
Urval (urval)¶
Fältet Selection används när användare ska välja ett enskilt värde från en grupp fördefinierade värden.
Badge: visar värdet inuti en rundad form, liknande en tagg. Värdet kan inte redigeras i användargränssnittet, men ett standardvärde kan anges.
Badges: visar alla valbara värden samtidigt i rektangulära former, organiserade horisontellt.
Prioritet: visar stjärnsymboler istället för värden, som kan användas för att indikera en viktighets- eller tillfredsställelsesnivå, till exempel. Detta har samma effekt som att välja prioritetsfältet, även om fyra prioritetsvärden redan är fördefinierade för det senare.
Radio: visar alla valbara värden samtidigt som radioknappar.
Tips
Som standard är alternativknapparna organiserade vertikalt. Aktivera Visa horisontellt för att byta sätt de visas på.
Statusfält: visar alla valbara värden samtidigt som ett förloppsstreck med pilar.
Tips
Som standard är värdena i statusfältet valbara. Avaktivera Klickbar för att förhindra att värdet redigeras i användargränssnittet.
Example
Prioritet (urval)¶
Fältet Prioritet används för att visa ett betygssystem med tre stjärnor, vilket kan användas för att ange betydelse eller tillfredsställelsenivå. Denna fälttyp är ett urvalsfält med widgeten Prioritet vald som standard och fyra prioritetsvärden fördefinierade. Följaktligen har widgetarna Bricka, Brickor, Radio och Urval samma effekter som beskrivs under Urval.
Tips
Klicka på Edit Values om du vill ändra antalet tillgängliga stjärnor genom att lägga till eller ta bort värden. Observera att det första värdet är lika med 0 stjärnor (dvs. när inget val görs), så att ha fyra värden resulterar i ett trestjärnigt klassificeringssystem, till exempel.
Example
Fil (binär)¶
Fältet File används för att ladda upp valfri typ av fil, eller signera ett formulär (Sign widget).
Bild: användare kan ladda upp en bildfil som sedan visas i formulärvyn. Detta har samma effekt som att använda bildfältet.
PDF Viewer: användare kan ladda upp en PDF-fil, som sedan kan läsas från Formulärvyn.
Skriv under: användare kan signera formuläret elektroniskt. Detta har samma effekt som att välja signaturfältet.
Example
Bild (binär)¶
Fältet Bild används för att ladda upp en bild och visa den i formulärvyn. Denna fälttyp är ett filfält med widgeten Bild vald som standard. Följaktligen har widgetarna Fil, PDF-visare och Skriv under samma effekter som beskrivs under Fil.
Tips
För att ändra visningsstorleken på uppladdade bilder, välj Small, Medium, eller Large under alternativet Size.
Tecken (binär)¶
Fältet Skriv under används för att signera formuläret elektroniskt. Denna fälttyp är ett filfält med widgeten Skriv under vald som standard. Följaktligen har widgetarna Fil, Bild och PDF-visare samma effekter som beskrivs under Fil.
Tips
För att ge användare alternativet Auto när de behöver rita sin namnteckning, välj ett av de tillgängliga fälten Fyll i automatiskt med (Text, Många till en och Relaterat fält endast på modellen). Namnteckningen genereras automatiskt med data från det valda fältet.
Relationella fält¶
Observera
Non-default widgets, when available, are presented as bullet points or sub-headings.
Many2One (many2one)¶
Fältet Many2One används för att länka en annan post (från en annan modell) till den post som redigeras. Postens namn från den andra modellen visas sedan på den post som redigeras.
Example
I modellen Säljorder är fältet Customer ett Many2One-fält som pekar på modellen Contact. Detta gör att många försäljningsorder kan kopplas till en kontakt (kund).
Tips
För att hindra användare från att skapa en ny post i den länkade modellen, kryssa i Inaktivera skapande.
För att förhindra användare från att öppna poster i ett popup-fönster, bocka i Inaktivera öppning.
För att hjälpa användare att bara välja rätt post, klicka på Domän för att skapa ett filter.
För att endast utlösa sökningen efter en länkad post efter att ett minsta antal tecken har angetts, ange önskat antal i fältet Typeahead-sökning. I situationer där datamängden är stor kan detta förbättra både sökrelevans och prestanda.
Badge: visar värdet inuti en rundad form, liknande en tagg. Värdet kan inte redigeras i användargränssnittet.
Radio: visar alla valbara värden samtidigt som radioknappar.
One2Many (one2many)¶
Fältet One2Many används för att visa de befintliga relationerna mellan en post i den aktuella modellen och flera poster från en annan modell.
Example
Du kan lägga till ett One2Many-fält på Contact-modellen för att titta på en kunds många försäljningsorder.
Observera
För att använda ett en till många-fält måste de två modellerna redan ha länkats med ett många till en-fält. En till många-relationer existerar inte oberoende: en omvänd sökning av befintliga många till en-relationer utförs.
Linjer (one2many)¶
Fältet Lines används för att skapa en tabell med rader och kolumner (t.ex. raderna med produkter på en försäljningsorder).
Tips
Om du vill ändra kolumnerna klickar du på fältet Lines och sedan på Edit List View. Om du vill redigera formuläret som visas när en användare klickar på Lägg till en rad, klickar du istället på Redigera formulärvy.
Example
Many2Many (many2many)¶
Fältet Många till många används för att länka flera handlingar från en annan modell till flera handlingar på den aktuella modellen. Många till många-fält kan använda Avaktivera skapande, Avaktivera öppning, Domän, precis som många till en-fält.
Example
I modellen Task är fältet Assignees ett Many2Many-fält som pekar på modellen Contact. Detta gör att en enskild användare kan tilldelas många uppgifter och många användare kan tilldelas en enskild uppgift.
Tips
För att endast utlösa sökningen efter den länkade posten efter att ett minsta antal tecken har angetts, ange önskat antal i fältet Typeahead-sökning. I situationer där datamängden är stor kan detta förbättra både sökrelevans och prestanda.
Checkboxes: användarna kan välja flera värden med hjälp av kryssrutor.
Taggar: användare kan välja flera värden som visas i rundade former, även kallade taggar. Detta har samma effekt som att välja taggfältet.
Add a field to a view¶
With Studio, it is possible to add:
a new field to a form or list view of a model
an existing field, i.e., a field that already exists on the model in question, to any view of that model
Tips
Add a new field to a form or list view to save it to the model and make it available as an existing field in other views of the same model.
Add a new field¶
Tips
Activate developer mode before adding a new field to see, and be able to edit, the field’s technical name during configuration.
To add a new field, follow these steps:
Navigate to the relevant form or list view, then click the (Toggle Studio) icon in the upper-right corner. Alternatively, with any app open, click the (Toggle Studio) icon, then navigate to the relevant form or list view.
In the Add tab, drag the relevant field type from the New Fields section and drop it in the desired position. If the new field is a relational field, select the relevant reciprocal field, model, or related field in the pop-up.
In the Properties tab, configure the field’s properties:
Enter the Label to be displayed as the field name on the UI; this is also used to generate the default technical name of the field.
Click anywhere outside the Label field to see the Technical Name updated with the default technical name.
Observera
The Technical Name of a new field can be edited in Studio during the configuration process. At any other time, a field’s technical name can only be modified via the technical settings of the database.
The technical name of a new field added using Studio is by default prefixed by
x_studio_.
Optionally, select a different Widget via the dropdown; the default widget for the field type is selected by default.
Optionally, configure any other field properties.
Click Close in the top-right corner to close Studio.
Se även
Add an existing field¶
To add a field that exists on the model but that is not present on the current view, follow these steps:
Navigate to the relevant view, then click the (Toggle Studio) icon in the upper-right corner. Alternatively, with any app open, click the (Toggle Studio) icon, then navigate to the relevant view.
In the Add tab, in the left panel, click Existing Fields to reveal a list of all the model’s fields that are not currently present in the view.
Drag the relevant field and drop it in the desired position.
In the Properties tab, configure the relevant properties for the field in the current view.
Observera
Various properties can be configured independently for different views, if needed, such as the Label, the Widget, the visibility of the field for certain user groups, as well as whether or not the field is Invisible, Required, or Readonly.
Click Close in the top-right corner to close Studio.
Field properties¶
A series of general properties can be configured for most combinations of field type and widget. Additional properties are available depending on the specific field type and widget selected. For example, Date & Time fields using the Date & Time or Date Range widget have various specific properties that can be configured.
Allmänna egenskaper¶
Class: Use Bootstrap or other custom classes defined in Odoo to customize how the field is styled and displayed on the UI.
Osynlig: Aktivera denna egenskap när det inte är nödvändigt för användare att se ett fält i användargränssnittet. Detta hjälper till att rensa upp användargränssnittet genom att endast visa de väsentliga fälten beroende på en specifik situation.
Obligatorisk: Aktivera denna egenskap om ett fält alltid ska fyllas i av användaren innan det går att fortsätta.
Skrivskyddad: Aktivera denna egenskap om användare inte ska kunna ändra ett fält.
Tips
The Invisible property also applies inside Studio. To view hidden fields in Studio, click on a view’s View tab and enable Show Invisible Elements.
The Invisible, Required, and Readonly properties can be enabled for specific records only by clicking on Conditional and creating a filter.
Example
On the form view of the Contact model, the Title field only appears when Individual is selected, as that field would not be helpful for a Company contact.
Label: This is the field name on the UI; the label is used to generate the technical name of the field.
Hjälpverktygstips: För att förklara syftet med ett fält, lägg till en beskrivning. Texten visas i en verktygstipsruta när du håller muspekaren över frågetecknet bredvid fältets etikett.
Technical Name: To view a field’s technical name in Studio (and, during the configuration of a new field, edit it if desired), activate developer mode.
Tips
If this field needs to be updated but is no longer editable via Studio, the technical name can be modified via the technical settings of the database.
Widget: För att ändra standardutseende eller funktionalitet för ett fält, välj en av de tillgängliga widgetarna.
Placeholder: To provide an example of how a field should be completed, add a fixed placeholder text. The text appears in light gray until a value is entered.
Dynamic Placeholder: To provide the value of the selected field as an example of how a field should be completed. The text appears in light gray until a value is entered.
Standardvärde: För att visa ett standardvärde i ett fält när en handling skapas, lägg till ett värde.
Tillåt synlighet för grupper: För att begränsa vilka användare som kan se fältet, välj en eller flera användaråtkomstgrupper.
Förhindra synlighet för grupper: För att förhindra vissa användare från att se fältet, välj en eller flera användaråtkomstgrupper.
Egenskaper för datum- och tidfält¶
For Date & Time fields using the Date & Time or Date Range widget, some specific properties are available:
Minimal precision: Determine the smallest date unit that must be selected in the date selector. The possible values are
Day,Month,YearorDecade. If no value is selected, the user must select a day in the date selector.Maximal precision: Determine the largest date unit that can be used to navigate the date selector. The possible values are
Day,Month,YearorDecade. If no value is selected, the user can navigate the date selector by decade.Varning för framtida datum: Aktivera denna egenskap för att visa en varningsikon om ett framtida datum väljs.
Datumformat: Som standard visas datumet som
2 apr 2025, 08:05. Aktivera denna egenskap för att visa datumet i formatet2025-04-02 08:05:00. Det numeriska läget är det format som ställts in för det aktuella språket. I detta läge visas alltid sekunderna.Visa datum: Denna egenskap är aktiverad som standard för Datum & Tid-fält. Avaktivera denna egenskap för att endast visa tiden.
Visa tid: Denna egenskap är aktiverad som standard för Datum & Tid-fält. På ett skrivskyddat fält kan du avaktivera egenskapen för att endast visa datumet. Detta kan till exempel hålla en listvy mindre rörig.
Visa sekunder: Denna egenskap är avaktiverad som standard för Datum & Tid-fält. Aktivera egenskapen för att visa sekunderna.
Tidsintervall: Ange ett värde för att bestämma minutintervallen som visas i tidsväljaren. Ange till exempel 15 för att tillåta kvartintervall. Standardvärdet är 5 minuter.
Tidigaste godkända datum: Ange det tidigaste datum som kan väljas i datumväljaren i ISO-format, dvs.
ÅÅÅÅ-MM-DD. Om dagens datum alltid är det tidigaste godkända datumet anger dutoday. I datumväljaren är datum före det tidigaste godkända datumet gråmarkerade.Senaste godkända datum: Ange det senaste datum som kan väljas i datumväljaren i ISO-format, dvs.
ÅÅÅÅ-MM-DD. Om dagens datum alltid är det senaste godkända datumet anger dutoday. I datumväljaren är datum senare än det senaste godkända datumet gråmarkerade.
Modify a field’s properties¶
To modify the properties of a field, follow these steps:
Navigate to the relevant view, then click the (Toggle Studio) icon in the upper-right corner. Alternatively, with any app open, click the (Toggle Studio) icon, then navigate to the relevant view.
Click on the relevant field.
In the Properties tab, make any desired changes to the field properties.
Tips
Various properties can be configured independently for different views, such as the Label, the Widget, the visibility of the field for certain user groups, as well as whether or not the field is Invisible, Required, or Readonly.
Click Close in the top-right corner to close Studio.
Observera
The Technical Name of a field (visible in Studio with developer mode activated) cannot be modified in Studio; this can be done via the technical settings of the database.
Modify a field’s technical name¶
To modify the technical name of a field, activate developer mode, then follow these steps:
With the field open in Studio, copy the technical name of the field.
Remove the field from all views in Studio, then click Close to close Studio.
Navigate to .
Paste the copied technical name into the search bar, then open the relevant field.
Modify the Field Name as needed.
Once the field’s technical name has been updated, the field can then be added (back) to the relevant view(s) from the list of existing fields.
Viktigt
When updating the technical name of a field, make sure to keep at least the x_ prefix, which is
required for any custom field; for fields created using Studio, keep the x_studio_ prefix to
allow such fields to be more easily identified.
Remove a field from a view¶
To remove a field from a view, follow these steps:
Navigate to the relevant view, then click the (Toggle Studio) icon in the upper-right corner. Alternatively, with any app open, click the (Toggle Studio) icon, then navigate to the relevant view.
Click on the relevant field.
Scroll to the bottom of the Properties tab, then click Remove from view.
Click Ok to confirm the action.
Tips
A removed field can be easily added back to the view at a later stage, if needed.
If the intention is to declutter the view, it is also possible to modify a field and make it Invisible on the view in question.