Hello. A simplified version of your program

----------
from datetime import datetime

class Usuario(SQLObject):
    name = StringCol(default=None)

class TipoFerramenta(SQLObject):
    descricao = UnicodeCol(default=None)

    # Auditing
    incluidoPor = ForeignKey('Usuario', default=None, cascade=False)
    incluidoEm = DateTimeCol(default=datetime.now)
    alteradoPor = ForeignKey('Usuario', default=None, cascade=False)
    alteradoEm = DateTimeCol(default=datetime.now)


Usuario.createTable()
usuario = Usuario()


TipoFerramenta.createTable()

tipo_ferramenta = TipoFerramenta()

tipo_ferramenta.set(
   descricao = 'descricao',
   alteradoPor = usuario,
)
----------

   really runs two UPDATEs, but they are two different updates:

 1/Query   :  UPDATE tipo_ferramenta SET alterado_por_id = (1) WHERE id = (1)
 1/QueryR  :  UPDATE tipo_ferramenta SET alterado_por_id = (1) WHERE id = (1)
 1/COMMIT  :  auto
 1/Query   :  UPDATE tipo_ferramenta SET descricao = ('descricao') WHERE id = 
(1)
 1/QueryR  :  UPDATE tipo_ferramenta SET descricao = ('descricao') WHERE id = 
(1)
 1/COMMIT  :  auto

   The first one updates foreign key.

PS. I hope you understand the difference between
    alteradoEm = DateTimeCol(default=datetime.now)
and
    alteradoEm = DateTimeCol(default=datetime.now())

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

-------------------------------------------------------------------------
Take Surveys. Earn Cash. Influence the Future of IT
Join SourceForge.net's Techsay panel and you'll get the chance to share your
opinions on IT & business topics through brief surveys-and earn cash
http://www.techsay.com/default.php?page=join.php&p=sourceforge&CID=DEVDEV
_______________________________________________
sqlobject-discuss mailing list
sqlobject-discuss@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/sqlobject-discuss

Reply via email to