[Python] Mutazione di un oggetto dall'interno...

Massimo massimo a mail.studiomasson.it
Ven 23 Feb 2007 17:02:35 CET


Si, il subject fa pena, ma non m'è venuto in mente altro...
Sto cercando di farmi un framework con SQLAlchemy. Vorrei fare in modo 
che un oggetto (mappato con un mapper su una Table, ma questo poco 
importa...) disponga di un metodo .read() che legga, appunto, i valori 
dal dbms.

Il problema è che qualcos'altro restituisce quell'oggetto una volta 
caricato. In particolare, funziona:

caricato = session.query(caricato.__class__).get(pk_tuple)

Io però ora vorrei scrivere il metodo .read(), qualcosa di simile a:

     def read(self, keyvalues=None):
         '''loads the object in memroy'''

         if keyvalues is None:
             keyvalues = self.getPkValues()
         tmp = self.session.query(self.__class__).get(keyvalues)
         if tmp is not None:
             # fare qualcosa

In tmp ho l'oggetto caricato (se esiste, altrimenti None), ma è 
un'istanza diversa dall'oggetto su cui ho chiamato .read()

Quello che mi/vi chiedo è se sia possibile (prima di tutto 
concettualmente) fare in modo che quel "# fare qualcosa" corrisponda a 
trasformare in toto l'oggetto puntato da self nell'oggetto puntato da tmp.
Qualche idea o commento?

Grazie,
Max.

p.s. ho provato ad iscrivermi alla ml di SQLAlchemy, gestita da google, 
e ricevo i messaggi ma non riesco a spedirne. Qualcuno l'ha mai usata e 
mi può gentilmente suggerire "le basi"? Grazie ancora...


Maggiori informazioni sulla lista Python