Saya mencoba untuk segera memperbarui catatan setelah disimpan. Contoh ini mungkin tampak tidak berguna, tetapi bayangkan kita perlu menggunakan API setelah data disimpan untuk mendapatkan info tambahan dan memperbarui catatan:
def my_handler(sender, instance=False, **kwargs):
t = Test.objects.filter(id=instance.id)
t.blah = 'hello'
t.save()
class Test(models.Model):
title = models.CharField('title', max_length=200)
blah = models.CharField('blah', max_length=200)
post_save.connect(my_handler, sender=Test)
Jadi kolom 'ekstra' seharusnya disetel ke 'halo' setelah setiap penyimpanan. Benar? Tapi itu tidak berhasil.
Ada ide?
save
saja menjadi; self.blah= 'hello'; super( Test, self ).save( *args, **kw )
? Apa yang salah dengan menggantisave()
? - person S.Lott   schedule 29.10.2009.update()
alih-alihsave()
. Untuk menghindari perulangan. Karena update() tidak memanggil sinyal post_save. - person Brandon Bertelsen   schedule 26.02.2013