Definire un package¶
Prendiamo a titolo di esempio il file main del package fatt di Sandbox:
class Package(GnrDboPackage):
def config_attributes(self):
return dict(comment='Package demo fatturazione',sqlschema='fatt',language='it',
name_short='Fatturazione', name_long='Fatturazione', name_full='Fatturazione')
def config_db(self, pkg):
pass
def custom_type_money(self):
return dict(dtype='N',format='#,###.00')
Per creare un package quindi:
definiamo una classe
Package
che eredita da GnrDboPackageridefiniamo un metodo obbligatorio
config_attributes
, dove andiamo a specificare tutti gli attributi del package, innanzituttocomment
, i variname_
, l”sqlschema
(ovvero lo schema delle tabelle sul database), e una serie di altri attributi facoltativi
Notiamo che la classe Package che abbiamo così definito è una classe «astratta» di mixin. Sarà poi il motore di Genropy a istanziare l’oggetto DbPackageObj partendo dalla traccia semplificata che abbiamo fornito noi: il programmatore si limita infatti a descrivere la «punta dell’iceberg», e l’ORM si occuperà del resto.
Per i dettagli sul funzionamento dell’oggetto Package rimandiamo alla sezione dedicata .
Autore della sezione: Davide Paci