我写了一个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)
但是当我尝试从管理员添加DoesNotExist LogEntry matching query does not exist
对象时,我得到ClassName
。
为什么会这样?为什么历史记录在post_save
时无法使用?我的对象不是保存了吗?
答案 0 :(得分:1)
self.pk
似乎是您的问题,请尝试将其替换为instance.pk
答案 1 :(得分:0)
此LogEntry是否保存在其他地方? 因为您尝试在保存帖子后检索日志条目,但是这些登录条目仅在使用管理员时自动创建。如果您不使用它,则可能是未保存这些日志。您可以使用此post_save信号先创建这些条目。