2013-08-29 10 views

risposta

25

È possibile sovrascrivere il metodo save nella classe del modello.

class Something(Model): 
    created = DateTimeField(default=datetime.datetime.now) 
    modified = DateTimeField 

    def save(self, *args, **kwargs): 
     self.modified = datetime.datetime.now() 
     return super(Something, self).save(*args, **kwargs) 
+1

Si prega di avvisare come fare lo stesso per gli aggiornamenti per esempio, Something.update (othercolumn = foo) .dove (id = 2) .execute(). O devo invece riscrivere il mio codice per usare Model.save()? Grazie in anticipo. – chrisinmtown

+1

Se si chiama '.update()', potrebbe essere necessario implementare la logica di aggiornamento della data/ora sul lato SQL. 'update()' non chiama 'save()'. – coleifer

+0

C'è un modo per sovrascrivere la classe Model in Peewee? – Jeff

2

Basta usare il tipo TIMESTAMP in MySQL. Questo campo si aggiornerà automaticamente ogni volta che la riga viene aggiornata.

Nella model:

last_updated = peewee.TimestampField() 
Problemi correlati