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

  1. creare()
  2. Scrivi()
  3. ricerca()
  4. navigare()
  5. exists ()
  6. ref ()
  7. ensure_one ()


Modified text is an extract of the original Stack Overflow Documentation
Autorizzato sotto CC BY-SA 3.0
Non affiliato con Stack Overflow