odoo-8
Quali sono i metodi e i dettagli ORM?
Ricerca…
Osservazioni
Crea metodo: crea un nuovo record con un valore specificato. Prende un numero di valori di campo e restituisce un recordset contenente il record creato
def create(self,vals):
return super(class_name, self).create(vals)
Metodo di scrittura: aggiorna i record con determinati ID con i valori di campo specificati. Prende un numero di valori di campo, li scrive su tutti i record nel suo recordset. Non restituisce nulla
def write(self,vals):
return super(class_name, self).write(vals)
Metodo di ricerca: ricerca di record basati su un dominio di ricerca. Assume un dominio di ricerca, restituisce un recordset di record corrispondenti. Può restituire un sottoinsieme di record corrispondenti (parametri offset e limite) ed essere ordinato (parametro ordine)
self.search([('customer','=',True)])
self.env['res.partner'].search(['partner','=',True])
Metodo di ricerca: recupera i record come oggetti che consentono di utilizzare la notazione dei punti per esplorare campi e relazioni. Prende un id di database o un elenco di ID e restituisce un recordset, utile quando gli ID di record vengono ottenuti da Odoo esterno (ad esempio round-trip attraverso il sistema esterno) o quando si chiamano metodi nella vecchia API.
self.browse([7,8,9])
self.env['res.partner'].browse([7,8,9])
Metodi esistenti: restituisce un nuovo recordset contenente solo i record esistenti nel database. Può essere usato per verificare se esiste ancora un record (ad esempio ottenuto esternamente).
records = records.exists()
metodo ref: metodo Environment che restituisce il record corrispondente a un id esterno fornito
self.env.ref('base.group_public')
metodo ensure_one: verifica che il recordset sia un singleton (contiene solo un singolo record), altrimenti genera un errore
records.ensure_one()
Diversi tipi di metodi ORM
- creare()
- Scrivi()
- ricerca()
- navigare()
- exists ()
- ref ()
- ensure_one ()