ฉันกำลังพยายามอัปเดตบันทึกทันทีหลังจากบันทึกแล้ว ตัวอย่างนี้อาจดูเหมือนไม่มีจุดหมาย แต่ลองจินตนาการว่าเราจำเป็นต้องใช้ API หลังจากบันทึกข้อมูลแล้วเพื่อรับข้อมูลเพิ่มเติมและอัปเดตบันทึก:
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)
ดังนั้นควรตั้งค่าฟิลด์ 'พิเศษ' เป็น 'สวัสดี' หลังจากบันทึกแต่ละครั้ง ถูกต้อง? แต่มันไม่ทำงาน
มีความคิดอะไรบ้าง?
save
ให้ทำ; self.blah= 'hello'; super( Test, self ).save( *args, **kw )
เกิดอะไรขึ้นกับการแทนที่save()
- person S.Lott   schedule 29.10.2009.update()
แทนที่จะเป็นsave()
เพื่อหลีกเลี่ยงการวนซ้ำ เนื่องจาก update() ไม่ได้เรียกสัญญาณ post_save - person Brandon Bertelsen   schedule 26.02.2013