Skip to main content
 首页 » 编程设计

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

2025年05月04日36yxwkf

我写了一个像这样的 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