我需要能够在保存模型数据之前对其进行更改,因此我认为使用 pre_save 处理程序是最佳选择:
@receiver(pre_save, weak = False)
def pre_category_save(sender, **kwargs):
if kwargs['instance'].tags is None:
kwargs['instance'].tags = kwargs['instance'].__unicode__().replace(' -> ', ', ')
在 kwargs 的实例键下,我希望找到我正在保存的实际模型实例,但我得到了一个 LogEntry 类的对象 - 这就是我的函数无法返回此错误的原因:'LogEntry' 对象没有属性'tags' . 那么 - 我该如何解决呢?检查实例是否有属性标签不是解决方案,因为我总是只得到 logentry 对象。我最终可以重载 Model.save 方法,尽管我不想这样做。