如何在保存方法中获取django模型对象

How to get django model object in save method

我想覆盖 django 中的 save 方法。

我正在使用 Django REST 框架,所以基本上序列化程序会处理模型的所有保存。

def save(self, split=True, **kwargs):
    if split:
        result = super(Entry,self).save(**kwargs)
        logger.warn(result)
        logger.error(self)
        #tasks.split_entry(self)
    else:
        super(Entry,self).save(**kwargs)

现在我想将正在保存的对象传递给我的任务,但我不确定自己是对象还是结果是对象。

我不想中断这个过程,因为我认为 django rest 需要将保存的对象获取到 return 来请求。所以我很困惑如何在这里使用super

如果我执行上述过程,我将看不到任何日志记录。我认为它会跳过它们。

您需要使用 self。 Django 模型的 save 方法没有 return 值,因此您的 result 变量是 None.