`after_create`和`after_save`和什么时候使用哪个区别?

after_createafter_save是否与每个function相同?

我想在帐户创build后用户的电子邮件进行操作。

保存在数据库中时,我想做这个操作。

这是最好的使用: after_createafter_save

after_create只能工作一次 – 刚刚创buildlogging之后。

每次保存对象后, after_save都能正常工作 – 即使多年后才更新它

所以,如果你只想做这个电子邮件操作一次(然后不再),然后使用after_create

如果每次保存对象时都要这样做,那么在after_save

从文档 :

after_create()

在尚未保存的新对象上调用Base.save (不存在任何logging)。

after_save()

Base.save之后Base.save (不pipe它是创build还是更新保存)。

 after_save() 

当您必须保存不经常保存的模型时,正常工作。 对于经常更改logging的特定示例,最好使用

  after_commit() 

确保在执行操作after_commit:calculate_credit_score之前将模型保存在数据库中

 def calculate_credit_score #Call a Cron job end