odoo-8
Velden gebruikt in Odoo 8
Zoeken…
Invoering
parameters
| parameters | Beschrijving |
|---|---|
| String = "Naam" | Optioneel label van het veld |
| compute = "_ compute_name_custom" | Transformeer de velden in berekende velden |
| store = True | Als het wordt berekend, wordt het resultaat opgeslagen |
| select = True | Forceer index op veld |
| readonly = true | Veld wordt alleen in weergaven gelezen |
| inverse = "_ write_name" | Bij update trigger |
| required = True | Verplicht veld |
| vertalen = True | Vertaling inschakelen |
| help = 'blabla' | Help-knoptekst |
| comodel_name = "model.name" | Naam van het gerelateerde model |
| inverse_name = "field_name" | relationele kolom van het tegenovergestelde model |
| verhouding = 'many2many_table_name' | relationele tabelnaam voor many2many |
| columns1 = 'left_column_name' | relationele tabel linkerkolomnaam |
| kolom2 = 'right_column_name' | relationele tabel rechter kolomnaam |
Opmerkingen
Odoo en ORM: Odoo gebruikt de ORM-techniek (Object Relational Mapping) om te communiceren met de database. ORM helpt bij het maken van een virtuele objectdatabase die vanuit Python kan worden gebruikt. In de ORM-techniek wordt elk model vertegenwoordigd door een klasse die de modellen Models.model.
Models.model is de belangrijkste superklasse voor Odoo-modellen met reguliere databases. Odoo-modellen worden gemaakt door over te nemen van deze klasse.
Voorbeeld:
class Employee(Models.model):
_name = 'module.employee'
#Rest of the code goes here
Hier is _naam een structureel kenmerk dat het systeem vertelt over de naam van de te maken databasetabel.
Elk model heeft een aantal klassenvariabelen, die elk een databaseveld in het model vertegenwoordigen. Elk veld wordt vertegenwoordigd door een instantie van een klasse openerp.fields.Field. Velden in Odoo worden hieronder weergegeven ..
1 Boolean Field
ex: flag = fields.Boolean()
2 Char veld
ex: flag = fields.Char()
3 tekst
ex: flag = fields.Text()
4 html
ex: flag = fields.Html()
5 Geheel getal
ex: flag = fields.Integer()
6 Vlotter
ex: flag = fields.Float()
7 datum
ex: flag = fields.Date()
8 Datetime
ex: flag = fields.Datetime()
9 Selectie
ex: flag = fields.Selection()
10 Many2one
ex: flag = fields.Many2one()
11 One2many
ex: flag = fields.One2many()
12 Many2many
ex: flag = fields.Many2many()
Voorbeeldenvelden van Odoo 8
Odoo gebruikt de ORM-techniek (Object Relational Mapping) om te communiceren met de database. ORM helpt bij het maken van een virtuele objectdatabase die vanuit Python kan worden gebruikt. In de ORM-techniek wordt elk model vertegenwoordigd door een klasse die een subklasse is van Models.model. Models.model is de belangrijkste superklasse voor Odoo-modellen met reguliere databases. Odoo-modellen worden gemaakt door over te nemen van deze klasse
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')