odoo-8
Pola używane w Odoo 8
Szukaj…
Wprowadzenie
Parametry
Parametry | Opis |
---|---|
string = "Nazwa" | Opcjonalna etykieta pola |
compute = "_ nazwa_komputera_custom" | Przekształć pola w pola obliczeniowe |
store = True | Jeśli obliczony, zapisze wynik |
wybierz = prawda | Wymuś indeks na polu |
readonly = True | Pole będzie czytane tylko w widokach |
inverse = "_ nazwa_ zapisu" | Po uruchomieniu wyzwalacza aktualizacji |
wymagane = Prawda | Pole obowiązkowe |
translate = True | Włącz tłumaczenie |
help = 'blabla' | Pomoc tekst podpowiedzi |
comodel_name = "model.name" | Nazwa powiązanego modelu |
inverse_name = "nazwa_pola" | kolumna relacyjna przeciwnego modelu |
relacja = „many2many_table_name” | nazwa tabeli relacyjnej dla many2many |
column1 = „left_column_name” | relacyjna nazwa lewej kolumny tabeli relacyjnej |
column2 = „prawa_nazwa_kolumny” | nazwa prawej kolumny tabeli relacyjnej |
Uwagi
Odoo i ORM: Odoo wykorzystuje technikę ORM (Object Relational Mapping) do interakcji z bazą danych. ORM pomoże stworzyć wirtualną bazę danych obiektów, z której można korzystać w Pythonie. W technice ORM każdy model jest reprezentowany przez klasę, która podklasuje Models.model.
Models.model jest główną superklasą dla regularnych trwałych baz danych modeli Odoo. Modele Odoo są tworzone przez dziedziczenie z tej klasy.
Przykład:
class Employee(Models.model):
_name = 'module.employee'
#Rest of the code goes here
W tym przypadku _nazwa jest atrybutem strukturalnym, który informuje system o nazwie tabeli bazy danych, która ma zostać utworzona.
Każdy model ma wiele zmiennych klas, z których każda reprezentuje pole bazy danych w modelu. Każde pole jest reprezentowane przez instancję klasy openerp.fields.Field. Pola w Odoo są wymienione poniżej.
1 Boolean Field
ex: flag = fields.Boolean()
2 Char Field
ex: flag = fields.Char()
3 Tekst
ex: flag = fields.Text()
4 HTML
ex: flag = fields.Html()
5 Liczba całkowita
ex: flag = fields.Integer()
6 pływaków
ex: flag = fields.Float()
7 Data
ex: flag = fields.Date()
8 Datetime
ex: flag = fields.Datetime()
9 Wybór
ex: flag = fields.Selection()
10 Many2one
ex: flag = fields.Many2one()
11 One2many
ex: flag = fields.One2many()
12 Many2many
ex: flag = fields.Many2many()
Przykłady pól Odoo 8
Odoo wykorzystuje technikę ORM (Object Relational Mapping) do interakcji z bazą danych. ORM pomoże stworzyć wirtualną bazę danych obiektów, z której można korzystać w Pythonie. W technice ORM każdy model jest reprezentowany przez klasę, która podklasuje Models.model. Models.model jest główną superklasą dla regularnych trwałych baz danych modeli Odoo. Modele Odoo są tworzone przez dziedziczenie z tej klasy
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')