Suche…


Einführung

In diesem Abschnitt finden Sie Details zu den Feldern, die in Odoo 8 verwendet werden

Parameter

Parameter Beschreibung
string = "Name" Optionale Beschriftung des Feldes
compute = "_ compute_name_custom" Wandeln Sie die Felder in berechnete Felder um
store = True Wenn berechnet, wird das Ergebnis gespeichert
select = True Index auf Feld erzwingen
readonly = wahr Das Feld wird in Ansichten gelesen
inverse = "_ write_name" Beim Update-Auslöser
erforderlich = wahr Pflichtfeld
übersetzen = True Übersetzung aktivieren
help = 'blabla' Hilfetext der Hilfe
comodel_name = "model.name" Name des zugehörigen Modells
inverse_name = "Feldname" relationale Spalte des entgegengesetzten Modells
relation = 'many2many_table_name' relationaler Tabellenname für many2many
column1 = 'left_column_name' Name der linken Spalte der relationalen Tabelle
column2 = 'right_column_name' Name der rechten Spalte der relationalen Tabelle

Bemerkungen

Odoo und ORM: Odoo verwendet die ORM-Technik (Object Relational Mapping) zur Interaktion mit der Datenbank. ORM hilft beim Erstellen einer virtuellen Objektdatenbank, die innerhalb von Python verwendet werden kann. In der ORM-Technik wird jedes Modell durch eine Klasse dargestellt, die Models.model unterordnet.

Models.model ist die wichtigste Superklasse für Odoo-Modelle mit regulärer Datenbank. Odoo-Modelle werden durch Erben von dieser Klasse erstellt.

Beispiel:

class Employee(Models.model):
    _name = 'module.employee'

    #Rest of the code goes here

Hier ist _name ein Strukturattribut, das dem System den Namen der zu erstellenden Datenbanktabelle mitteilt.

Jedes Modell verfügt über eine Reihe von Klassenvariablen, von denen jede ein Datenbankfeld im Modell darstellt. Jedes Feld wird durch eine Instanz einer openerp.fields.Field-Klasse dargestellt. Felder in Odoo sind unten aufgeführt.

1 Boolesches Feld

ex: flag = fields.Boolean()

2 Zeichenfeld

ex: flag = fields.Char()

3 Text

ex: flag = fields.Text()

4 Html

ex: flag = fields.Html()

5 Ganzzahl

ex: flag = fields.Integer()

6 Schwimmer

ex: flag = fields.Float()

7 Datum

ex: flag = fields.Date()

8 Datetime

ex: flag = fields.Datetime()

9 Auswahl

ex: flag = fields.Selection()

10 Many2one

ex: flag = fields.Many2one()

11 One2many

ex: flag = fields.One2many()

12 Many2many

ex: flag = fields.Many2many()

Beispielfelder von Odoo 8

Odoo verwendet die ORM-Technik (Object Relational Mapping) für die Interaktion mit der Datenbank. ORM hilft beim Erstellen einer virtuellen Objektdatenbank, die innerhalb von Python verwendet werden kann. In der ORM-Technik wird jedes Modell durch eine Klasse dargestellt, die Models.model unterordnet. Models.model ist die wichtigste Superklasse für Odoo-Modelle mit regulärer Datenbank. Odoo-Modelle werden durch Erben von dieser Klasse erstellt

name = fields.Char(string='New Value')

flag = fields.Boolean(string='Flag',default=False)

amount = fields.Float(string='Amount',digits=(32, 32))

code = fields.Selection(string='Code',selection=[('a', 'A'),('b','B')])

customer = fields.Many2one(comodel_name='res.users')

sale_order_line = fields.One2many(comodel_name='res.users', inverse_name='rel_id')

tags = fields.Many2many(comodel_name='res.users',
                        relation='table_name',
                        column1='col_name',
                        column2='other_col_name')


Modified text is an extract of the original Stack Overflow Documentation
Lizenziert unter CC BY-SA 3.0
Nicht angeschlossen an Stack Overflow