python - 在post_save信号django中捕获logentry历史

标签 python django logging

我写了一个像这样的 post_save 信号:

def send_something(sender, instance, **kwargs):
    user = LogEntry.objects.get(
            content_type_id = ContentType.objects.get_for_model(instance).pk,
             object_id      =  instance.pk,
             action_flag    =   1
             ).user

post_save.connect(send_something, sender=ClassName)

但是当我尝试从管理员添加一个 ClassName 对象时,我得到一个 DoesNotExist LogEntry 匹配查询不存在

为什么会这样?为什么历史记录在 post_save 时不可用?我的对象还没有保存吗?

最佳答案

self.pk 似乎是您的问题,请尝试将其替换为 instance.pk

关于python - 在post_save信号django中捕获logentry历史,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17966133/

相关文章:

python - 累积自定义函数

python - 压缩 Django 迁移时的循环依赖

python - Django 应用程序初始化代码(如连接到信号)

python - 如何仅在添加而不是编辑时验证 django 表单

java - 如何使用相同的 log4j 记录器为不同的包创建不同的日志文件?

python - 我需要找到两组横滚角和偏航角之间的角度

python - 在 Python 中设置 WindowsHook(ctypes,Windows API)

python - Django:如何创建到 View 的通用 url 路由?

java - java日志文件中$$$view的含义是什么?

blackberry - eclipse中黑莓设备中的System.out.println?