Models benutzen python um die PostgreSQL Datenbank zu manipulieren. Es können Tabellen und Felder angelegt werden ohne eine Zeile SQL schreiben zu müssen.
Tabellen
In odoo werden python Klassen zu SQL Tabellen. Hierzu muss die Klasse von models.Model erben.
Codeblock | ||||
---|---|---|---|---|
| ||||
from odoo import models
class neueTabelle(models.Model): |
Diese Tabelle würde keine Spalten außer denen die Odoo standardmäßig anlegt.
Um eigene Felder anzulegen überlegt man sich von welchem Typ das Feld seien soll. Möchte man Beispielsweise eine Adresse speichern so wählt man den Typ Char, da dieser sowohl Buchstaben als auch Zahlen darstellen kann.
Codeblock | ||||
---|---|---|---|---|
| ||||
from odoo import models, fields
class neueTabelle(models.Model):
adresse = fields.Char() |
Andere Typen wären:
- fields.Char() - Text mit bis zu 255 Zeichen
- fields.Integer() - ganze Zahl
- fields.Float() - Kommazahlen(64 bit länge)
- fields.Text() - Textfeld mit bis zu 65535 Zeichen
- fields.Binary() - für binäre Daten wie Bilder
- fields.DateTime() - python DateTime Objekt
Es gibt Feldtypen die Beziehungen zwischen Tabellen herstellen können.
- fields.Many2one - n zu 1 Beziehung im ER-Modell
- fields.One2many - 1 zu n Beziehung im ER-Modell
- fields.Many2many - n zu m Beziehung im ER-Modell