2007/12/13, Oleg Broytmann <phd@phd.pp.ru>:
On Thu, Dec 13, 2007 at 02:16:15PM -0300, Leandro Sales wrote:
> class DBObject(InheritableSQLObject):
>     title = UnicodeCol(length=100, default="")
>
> class DBItem(DBObject, InheritableSQLObject):
>     local_path = UnicodeCol(length=1000, default="")
>
> If I do:
>   DBItem.deleteMany(LIKE(DBItem.q.local_path, local_path + "%"))
>   ... SQLObject deletes from db_item table but maintains the correspondent
> item in db_object

   Alas, deleteMany doesn't work with Inheritance. Even worse, with
deleteMany you may have cache coherency problem The only way to properly
delete objects is to loop over them and destroy them one by one:

for item in DBItem.select(LIKE(DBItem.q.local_path, local_path + "%")):
   item.destroySelf()

Oleg.
--
     Oleg Broytmann            http://phd.pp.ru/             phd@phd.pp.ru
           Programmers don't die, they just GOSUB without RETURN.


OK Oleg,
  thank you once again.

Leandro.