.. _orm_genropy/orm_genropy/model/package: 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 *GnrDboPackage* - ridefiniamo un metodo obbligatorio ``config_attributes``, dove andiamo a specificare tutti gli attributi del *package*, innanzitutto ``comment``, i vari ``name_``, 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 :ref:`sezione dedicata` . .. sectionauthor:: Davide Paci