我想知道before_save和after_save之间的确切区别。现在,我已阅读文档,我知道他们的名字有所不同。但是,我想知道使用实时实体的确切差异。如果您提供任何示例,那将会很棒。
答案 0 :(得分:0)
保存之前:当您点击保存按钮并且记录存储在数据库中之前,将调用此处写入的功能。
用法:保存前可以正常使用。对于一个简单的例子,假设我们可以在记录进入数据库之前修改或添加字段值。
保存后:当您点击“保存”按钮并将记录存储在数据库中后,将调用此处写入的功能。
用法:为了帮助您了解after_save的使用,我们假设我们的学生记录包含 SL.No,名称,课程和学生否。
让我们说SL.No是一个自动递增字段,Student no是课程的第一个字母和SL.No的组合。
现在这里自动递增不会存在,直到记录保存在数据库中,因此除非保存记录,否则您将无法获得所需的学生编号。
所以after_save这里有帮助,因为在保存记录后执行逻辑,已经生成了自动递增的no。