Django,我删除了AnonymousUser,如何恢复

时间:2017-09-17 15:25:00

标签: django database

(太棒了,我还没有找到这样的问题!)

我在数据库中删除了部分用户,不小心删除了AnonymousUser - 实例。 我该如何恢复他? (好吧......他或她,为了政治正确:-P)

我确实需要db中的一个实例,对吗? (到目前为止,通过快速浏览我的网站,我没有遇到问题)。顺便说一下,没有他会有什么问题?

但是没有AnonymousUser.objects - 经理来创建一个。而且save()无论如何都没有实施,就像the docs所说的那样。那么我是否删除用户表并进行迁移?它会有所帮助和/或我可以采取不同的行动吗?

非常感谢:)

1 个答案:

答案 0 :(得分:1)

Anonymous userdjango.contrib.auth.models.AnonymousUser的一个实例,当auth后端未在会话中找到任何经过身份验证的用户且未存储在数据库中时,会立即创建因此,save未在此处实施,id始终为无,因为文档说明了。

评论后更新

django-userena使用django-guardian管理每个对象的权限,django-guardian将创建此用户automatically收听signals.post_migrate信号。因此,只需运行migrate命令,您就应该让所谓的匿名用户返回(这不是django.contrib.auth.models.AnonymousUser的实例,而是用户模型的实际用户实例)。

您可以根据需要完全停用此行为,请检查django-guardian docs