M)

Modelleinschränkungen

Odoo bietet zwei Möglichkeiten, automatisch verifizierte Invarianten einzurichten: Python-Beschränkungen und SQL-Beschränkungen. Eine Python-Beschränkung wird als eine mit constrains() dekorierte Methode definiert und auf einem Recordset aufgerufen. Der Dekorator gibt an, welche Felder an der Beschränkung beteiligt sind, so dass die Beschränkung automatisch ausgewertet wird, wenn eines von ihnen geändert wird. Es wird erwartet, dass die Methode eine Ausnahme auslöst, wenn ihre Invariante nicht erfüllt ist

Modellfelder und Felder

Felder werden verwendet, um zu definieren, was das Modell wo speichern kann. Felder werden als Attribute auf der Modellklasse definiert: von odoo Importmodelle, Felder Klasse LessMinimalModel(models.Model):    
_name = 'test.model2' name = felder.char().

Modul

Beginnen wir mit einem einfachen Odoo-Modul, das eine grundlegende Konfiguration der Webkomponenten enthält und uns das Web-Framework testen lässt. Das Beispielmodul ist online verfügbar und kann mit folgendem Befehl heruntergeladen werden:$ git clone http://github.com/odoo/petstore. Dadurch wird ein Petstore-Ordner erstellt, wo immer Sie den Befehl ausgeführt haben. Sie müssen diesen Ordner dann zum Pfad der Odoo-Addons hinzufügen, eine neue Datenbank erstellen und das oepetstore-Modul installieren.Wenn Sie den petstore-Ordner durchsuchen, sollten Sie folgenden Inhalt sehen:Das Modul enthält bereits verschiedene Server-Anpassungen. Dateien, die auf der "Web"-Seite eines Odoo-Moduls verwendet werden, müssen in einem statischen Ordner abgelegt werden, damit sie für einen Web-Browser verfügbar sind; Dateien außerhalb dieses Ordners können von Browsern nicht abgerufen werden. Die Unterordner src/css, src/js und src/xml sind konventionell und nicht unbedingt notwendig.src/xml gibt nur eine kleine Meldung in der Konsole des Browsers aus.die Dateien im statischen Ordner müssen innerhalb des Moduls definiert werden, damit sie korrekt geladen werden können. Alles in src/xml ist in __manifest__.py definiert, während der Inhalt von src/css und src/js in petstore.xml oder einer ähnlichen Datei definiert ist.

Einer der Nachteile ist, dass das Debugging schwieriger wird, da einzelne Dateien verschwinden und der Code deutlich weniger lesbar wird. Es ist möglich, diesen Prozess abzuschalten, indem Sie den "Entwicklermodus" aktivieren: Loggen Sie sich in Ihre Odoo-Instanz ein (standardmäßig Benutzer Admin-Passwort admin), öffnen Sie das Benutzermenü (in der oberen rechten Ecke des Odoo-Bildschirms) und wählen Sie Über Odoo und dann Entwicklermodus aktivieren: Dadurch wird der Web-Client mit deaktivierten Optimierungen neu geladen, was die Entwicklung und das Debugging erheblich komfortabler macht.