Classe SqlExcelQuery
La classe SqlExcelQuery è utilizzata per eseguire una query SQL utilizzando
il modello sql.excel.pdf e questo modello è necessario affinché la
classe funzioni.
Si tratta di un modulo non standard di Odoo ma fornito da applicazioni di terze parti e andrà installato per utilizzare questa classe.
Per osservare qualche esempio di utilizzo fare riferimento alla pagina Esempi di utilizzo.
- Costruttore
- Metodo statico is_available
- Proprietà name
- Proprietà language
- Proprietà id
- Metodo get_sql
- Metodo set_sql
- Metodo set_draft
- Metodo validate
- Metodo get_state
- Metodo get_active
- Metodo set_active
- Metodo execute
- Metodo clear
- Metodo delete
- Metodo get_file
- Metodo get_data
- Metodo add_tag
- Metodo get_tags
Costruttore
class SqlExcelQuery(name: str,
category: str,
endpoint: str,
database: str,
username: str,
password: str,
language: str = None)
Parametri
- name: nome della query SQL da creare o utilizzare.
- category: nome della categoria della query da creare o utilizzare.
- endpoint: URL dell’endpoint di Odoo.
- database: nome del database di Odoo da utilizzare.
- username: nome dell’utente di Odoo da utilizzare.
- password: password dell’utente di Odoo da utilizzare.
- language: lingua predefinita da utilizzare per i campi traducibili.
Esempio di utilizzo
import pyodoo.v12
query = pyodoo.v12.SqlExcelQuery(name='SQL Excel Query Demo',
category='PyOdoo Demo',
endpoint='https://demo.odoo.com',
database='demo_saas',
username='muflone',
password='mysecret',
language='it_IT')
Accede all’istanza di Odoo all’indirizzo https://demo.odoo.com sul database
demo_saas, utilizzando le credenziali fornite e la lingua italiana per
i campi traducibili e richiama o crea la query SQL di nome
SQL Excel Query Demo nella categoria PyOdoo Demo.
Metodo statico is_available
SqlExcelQuery.is_available(endpoint: str,
database: str,
username: str,
password: str,
language: str = None)
Il metodo statico is_available è statico e può essere richiamato sia su
oggetti SqlExcelQuery che sulla classe stessa con SqlExcelQuery.is_available e
si occupa di verificare se il modello sql.excel.pdf sia disponibile e
restituirà il valore True se il modello è stato trovato, altrimenti restituirà
il valore False.
Parametri
- endpoint: URL dell’endpoint di Odoo.
- database: nome del database di Odoo da utilizzare.
- username: nome dell’utente di Odoo da utilizzare.
- password: password dell’utente di Odoo da utilizzare.
- language: lingua predefinita da utilizzare per i campi traducibili.
Restituisce
- True se il modello
sql.excel.pdfè stato trovato. - False se il modello
sql.excel.pdfnon risulta disponibile.
Esempio di utilizzo
print(SqlExcelQuery.is_available(endpoint='https://demo.odoo.com',
database='demo_saas',
username='muflone',
password='mysecret',
language='it_IT')
Proprietà name
La proprietà name restituisce il nome della query dell’oggetto SqlExcelQuery.
Restituisce
- Il nome della query usata dall’oggetto SqlExcelQuery.
Esempio di utilizzo
print(query.name)
Proprietà language
La proprietà language restituisce e assegna la lingua per l’oggetto SqlExcelQuery.
Restituisce
- La lingua attuale dall’oggetto SqlExcelQuery.
Esempio di utilizzo
print(query.language)
query.language = 'it_IT'
Proprietà id
La proprietà id restituisce l’identificativo univoco della query dell’oggetto SqlExcelQuery.
Restituisce
- L’identificativo univoco dall’oggetto SqlExcelQuery.
Esempio di utilizzo
print(query.id)
Metodo get_sql
SqlExcelQuery.get_code()
Il metodo get_sql restituisce il codice SQL dell’oggetto SqlExcelQuery.
Restituisce
- Il codice SQL della query dell’oggetto SqlExcelQuery.
Esempio di utilizzo
print(query.get_sql())
Metodo set_sql
SqlExcelQuery.set_sql(text: str)
Il metodo set_sql imposta il codice SQL per l’oggetto SqlExcelQuery.
Il parametro text corrisponde al codice SQL da salvare.
Parametri
- text: codice SQL da impostare.
Restituisce
- True se il record è stato aggiornato.
Esempio di utilizzo
query.set_sql(text='SELECT * FROM res_partner LIMIT 100')
Metodo set_draft
SqlExcelQuery.set_draft()
Il metodo set_draft imposta il record SqlExcelQuery a bozza per la modifica.
Restituisce
- Il metodo non restituisce nulla.
Esempio di utilizzo
query.set_draft()
Metodo validate
SqlExcelQuery.validate()
Il metodo validate valida il codice SQL dell’oggetto SqlExcelQuery.
Restituisce
- Il metodo non restituisce nulla.
Esempio di utilizzo
query.validate()
Metodo get_state
SqlExcelQuery.get_state()
Il metodo get_state legge lo stato dell’oggetto SqlExcelQuery.
Restituisce
- Lo stato dell’oggetto SqlExcelQuery.
Esempio di utilizzo
query.set_draft()
print(query.get_state())
query.validate()
print(query.get_state())
Metodo get_active
SqlExcelQuery.get_active()
Il metodo get_active legge lo stato active dell’oggetto SqlExcelQuery.
Restituisce
- Lo stato
activedell’oggetto SqlExcelQuery.
Esempio di utilizzo
print(query.get_active())
Metodo set_active
SqlExcelQuery.set_active(active: bool)
Il metodo set_active imposta lo stato active dell’oggetto SqlExcelQuery.
Restituisce
- True se il record è stato aggiornato.
Esempio di utilizzo
print(query.set_active(active=False))
print(query.set_active(active=True))
Metodo execute
SqlExcelQuery.execute()
Il metodo execute esegue la query SQL dell’oggetto SqlExcelQuery.
Restituisce
- Il metodo non restituisce nulla.
Esempio di utilizzo
query.set_sql(text='SELECT\n *\nFROM res_partner\nLIMIT 100')
query.execute()
Metodo clear
SqlExcelQuery.clear()
Il metodo clear pulisce il risultato delle precedenti esecuzioni dell’oggetto SqlExcelQuery.
Restituisce
- True se il record è stato aggiornato.
Esempio di utilizzo
query.clear()
Metodo delete
SqlExcelQuery.delete()
Il metodo delete elimina il record dell’oggetto SqlExcelQuery.
Restituisce
- True se il record è stato eliminato.
Esempio di utilizzo
query.delete()
Metodo get_file
SqlExcelQuery.get_file()
Il metodo get_file recupera il file Excel dell’ultima esecuzione della query SQL dell’oggetto SqlExcelQuery.
Restituisce
- Il contenuto binario del file Excel ottenuto.
Esempio di utilizzo
query.execute()
data = query.get_file()
Metodo get_data
SqlExcelQuery.get_data()
Il metodo get_data estrae i dati dal file Excel dell’ultima esecuzione della query SQL dell’oggetto SqlExcelQuery.
Restituisce
- Una lista di dizionari con i dati estratti dal file Excel ottenuto.
Esempio di utilizzo
query.execute()
data = query.get_data()
Metodo add_tag
SqlExcelQuery.add_tag(tag_id: int)
Il metodo add_tag aggiunge il tag identificato da tag_id all’oggetto
SqlExcelQuery.
Restituisce
- True se il record è stato aggiornato.
Esempio di utilizzo
query.add_tag(tag_id=4)
Metodo get_tags
SqlExcelQuery.get_tags()
Il metodo get_tags recupera tutti i tag dal modello sql.tags da associare
all’oggetto SqlExcelQuery mediante il metodo add_tag.
Restituisce
- Una lista di dizionari con i dati sui tag.
Esempio di utilizzo
print(query.get_tags())