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