Szukaj…


Wprowadzenie

W tej sekcji można znaleźć szczegółowe informacje na temat pól używanych w Odoo 8

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')


Modified text is an extract of the original Stack Overflow Documentation
Licencjonowany na podstawie CC BY-SA 3.0
Nie związany z Stack Overflow