[Plone-IT] PersistentMapping dentro PersistentDict

Riccardo Lemmi riccardo a reflab.it
Gio 7 Maggio 2009 14:23:28 UTC


On Thursday 07 May 2009, Yuri wrote:
> Riccardo Lemmi ha scritto:
> > On Thursday 07 May 2009, Yuri wrote:
> >> Riccardo Lemmi ha scritto:
> >>> On Thursday 07 May 2009, Yuri wrote:
> >>>> Ciao a tutti!
> >>>>
> >>>>  ho una PersistentList che contiene una serie di PersistentMapping,
> >>>> costruita così:
> >>>>
> >>>> self.walks = PersistentList()
> >>>>
> >>>> e
> >>>>
> >>>> self.walks.append(OOBTree()) (in __init__ della classe)
> >>>>
> >>>> self.walks[survey][userid] = PersistentMapping(value=value,
> >>>>                                                  comments=comments)
> >>>>
> >>>> Ora, quando aggiorno un valore in una PersistentMapping, in teoria non
> >>>> dovrei far altro, visto che sono tutti oggetti persistenti.
> >>>>
> >>>>  O sbaglio? :)
> >>>
> >>> Non sbagli, non serve usare _p_changed, ma il codice che hai postato
> >>> non mi è chiaro: perchè appendi un OOBTree? Sembra quasi che walks sia
> >>> una lista che contiene dizionari (gli OOBTree sono trattati come tali)
> >>> che ha sua volta contiene dizionari (ma di tipo PersistentMapping).
> >>> Perchè non usi fin da subito un OOBTree (v. sotto)?
> >>
> >>  Ho ripreso la struttura di un prodotto. Quindi tu dici che funziona
> >> perché OOBTree è un tipo persistente?
> >
> > certo, viene usato nei Large Folder e nel catalogo
> >
> >>  Il tipo PersistentMapping serve più che altro se si deve memorizzare
> >> più di un dato alla volta, non si sa mai :)
> >
> > puoi usare un SimpleItem (o un SimpleItemWithProperties)
>
> Uhm, vorrei rendere il più semplice possibile la cosa, anche perché non
> sono valori che vengono gestiti dall'interfaccia di Plone, ma
> semplicemente inseriti.
>
>  Che grossi vantaggi ne avrei? :)

Grossi vantaggi non ne vedo.

Se usi un PersistentMapping e metti come value un oggetto tipo una lista o un 
dizionario poi sei obbligato a usare _p_changed  o usare ulteriori 
PersistentMapping o PersistentListing (stessa cosa per un SimpleItem).

Se usi SimpleItemWithProperties non corri il rischio ma i tipi che puoi usare 
sono limitati.
-- 
Riccardo Lemmi                           Email:   riccardo a reflab.it
Reflab S.r.l. - Plone Design, Development and Consulting
Phone: +39 349 4620820                         http://www.reflab.it
-------------- parte successiva --------------
Un allegato non testuale è stato rimosso....
Nome:        signature.asc
Tipo:        application/pgp-signature
Dimensione:  189 bytes
Descrizione: This is a digitally signed message part.
URL:         <http://lists.plone.org/pipermail/plone-plone-it/attachments/20090507/03936359/attachment.asc>


Maggiori informazioni sulla lista Plone-IT