Zum Inhalt springen

Odoo Models, Felder und Ansichten anlegen

Hier erfährst du, wie Daten in Odoo organisiert, gespeichert und dargestellt werden, und wie du selbst neue Models, Felder und Ansichten anlegen kannst.
12. Dezember 2025 durch
Odoo Models, Felder und Ansichten anlegen
Nathanael Lee
| Noch keine Kommentare

Wenn du ein Odoo ein Konzept verstehen musst, sind es die Models. Odoo Models sind Datenmodelle ("Container"), in denen Geschäftsdaten gespeichert werden, zum Beispiel Kunden, Bestellungen oder Rechnungen. Alle Objekte werden in unterschiedlichen Models geführt. Auf technischer Ebene ist ein Model meistens:

  • eine Tabelle in der Odoo-Datenbank (PostgreSQL)

  • eine Python-Klasse (Unterklasse von models.Model)

  • der Träger von Feldern (also die Definition, welche Daten ein Datensatz hat)

Odoo Models können über relationale Felder miteinander verknüpft werden. So ist zum Beispiel ein Verkaufsauftrag automatisch mit dem richtigen Kunden, den Positionen und später auch mit den passenden Rechnungen verbunden.

Odoo Models sind damit der Grundbaustein der Odoo Business-Logik. In Odoo kannst du bestehende Models erweitern oder neue Models erstellen. Wenn du eine bestehende Funktion verbessern willst, erweiterst du meistens ein bestehendes Model. Wenn du einen komplett neuen Prozess abbilden willst, der unabhängig von der Odoo Grundfunktionalität ist, erstellst du ein eigenes Model.

Model = Geschäftsobjekt
Ein Model steht für “eine Sache” in Odoo, zum Beispiel Kunde oder Rechnung.
Model
Das Thema
res.partner Kunde
account.move Rechnung
Felder
Welche Infos gehören dazu?
Name
Adresse
Datum
Betrag
Datensätze (records)
Konkrete Einträge
Braintec AG
RE04052025

So erstellst du ein neues Model

Ein Beispiel aus meiner Odoo Praxis. Ich habe in einer Odoo-Online Datenbank einen Connector zu Reonic eingerichtet. Reonic ist eine Software für PV- und Wärmepumpen Installateure. Der Connector läuft auf einem externen VPS und übermittelt die Daten von Reonic an Odoo über die API. 

Um einen guten Überblick über die Synchronisation und Konfiguration dieser Odoo-Reonic Schnittstelle zu erhalten, habe ich ein neues Menu-Icon und ein Model "Reonic Sync Läufe" angelegt. 

Jeder Datensatz in dem Model stellt eine abgelaufene Synchronisation dar, und loggt das Ergebnis. In der Listenübersicht sind die wichtigsten Felder enthalten. In der Form-Ansicht sind weitere Details sichtbar.


Reonic Sync Runs

1. Schalte den Debug-Modus ein und suche nach Einstellungen / Technisch / Benutzerschnittstelle / Models. Erstelle ein neues Model mit einem aussagekräftigen Namen. Anhand vom Namen solltest du jederzeit die Funktion vom Model erschliessen können. Das macht die Nachvollziehbarkeit viel einfacher.

Odoo Models

Fertig - Nach dem Speichern hast du bereits ein neues Model angelegt. Odoo erstellt automatisch Standard-Felder im Model wie create_date oder create_uid. Diese sind für alle Models obligatorisch und werden immer automatisch angelegt.

So erstellst du Felder für dein neues Model

In deinem Model willst du wahrscheinlich Daten speichern. In meinem Fall wollte ich in einem Sync Run vor allem den Log vom Connector speichern, damit ich Fehler einfacher nachverfolgen kann. Dafür habe ich die Felder x_status und x_log angelegt. (Anmerkung: Wenn du Felder aus dem UI erstellst, haben Sie immer ein "x_" Prefix.)

1. Schalte den Debug-Modus ein und suche nach Einstellungen / Technisch / Datenbankstruktur / Felder. Erstelle ein neues Feld.

  • Feldname: (technischer Name)
  • Feldbezeichnung: (Name in der Ansicht)
  • Modell: Model zu dem das Feld gehört
  • Feldtyp: Text, Zahl, etc.

Mehr zum Thema Felder erfährst du im nächsten Blog Artikel.

Odoo Fields

Fertig! Auf diese Art kannst du in Odoo beliebig viele Felder anlegen. Tipp: Halte es minimal und achte auf ein sinnvolles Naming. Je weniger Custom-Felder, desto besser. Ein Feld ist schnell erstellt, bringt aber mehr Komplexität ins System. Überlege dir immer: Verstehe ich in 1 Jahr auch noch, was ich hier gemacht habe? Hat eine Drittperson eine gute Chance, meine Änderungen nachzuvollziehen?

Mache dein Model und Felder sichtbar - so erstellst du eine Odoo Ansicht (View)

Mit dem Model und den Feldern ist die Datenbankstruktur fertig. Nun geht es darum, diese im User Interface zu visualisieren. Es ist wichtig zu verstehen, dass diese beiden Dinge komplett separat sind. In einer Ansicht (View) wird nur festgelegt, wie der User mit der Datenbankstruktur interagiert und wie sie dargestellt wird. Sie ändert selber nichts an der Struktur.

1. Suche nach Einstellungen / Technisch / Benutzerinterface / Ansichten und erstelle eine neue Ansicht. Die wichtigsten Daten die du mitgeben muss:

  • Ansichtsbezeichnung: Ein beliebiger, aussagekräftiger Name
  • Ansichtstyp: Liste, Formular etc.
  • Modell der Ansicht: Model auf dem die Ansicht ausgeführt wird
  • Architektur: Die Eigentliche Ansicht als XML Code.

Odoo View

Der Code für eine Minimale Listen-Ansicht sieht so aus: 



Fertig! Nun hast du Model, Felder und die View. Wie du diese in die Odoo Navigation integrieren kannst, habe ich in meinem vorherigen Blog erklärt.

Etwas sehr Wichtiges fehlt aber noch. Wenn du alles richtig gemacht hast, wirst du dein neues Model in der Ansicht trotzdem nirgends finden. Weil niemand darauf zugreifen darf. 

Für jedes Model musst du die Zugriffsberechtigungen festlegen. Dazu gehst du nochmals unter Einstellungen / Technisch / Datenbankstruktur / Modelle zu deinem Custom-Model. Unter dem Tab "Zugriffsrechte" kannst du dabei für verschiedene Benutzergruppen Berechtigungen erteilen. Am besten fängst du hier sehr strikt an und erweiterst die Berechtigungen bei Bedarf. 

Odoo Access Group


Im nächsten Blogbeitrag erkläre ich dir genauer, wie die verschiedenen Feld-Typen funktionieren, und wie du berechnete Felder (computed Fields) erstellen kannst, ein sehr mächtiges Odoo Feature.

Wenn du Fragen hast, kontaktiere mich gerne oder schreibe einen Kommentar. 

Nate


Danke für die Registrierung!



Anmelden , um einen Kommentar zu hinterlassen