【发布时间】:2020-06-27 21:04:09
【问题描述】:
User 是django.contrib.auth.models 中的模型。
我目前正在开发一个使用内置 django 身份验证系统的用户注册和登录系统。
我使用 PostgreSQL 作为底层数据库而不是 sqlite。
迁移成功到在我的 postgres 数据库中生成了相应的表。
我假设表auth_user 存储了注册用户的所有详细信息。
为了测试我的数据库设置和身份验证系统,我正在向一个随机用户注册并检查auth_user 表。在表格中,我可以找到我注册的用户名详细信息。
接下来,我清除auth_user 表的内容以重新开始。
但是现在当我使用相同的用户名注册时,我在表单的用户名字段下收到消息A user with this username already exists.。这怎么可能?我清除了 Postgres 数据库中 auth_user 表的内容。
然后我创建一个单独的视图来显示属于django.contrib.auth.models的User模型的内容,发现我之前注册的用户名正在显示,即使auth_user表当前是空的。
我真的很好奇这个。我错过了什么吗?请说清楚。对于这篇大文章,我深表歉意。
【问题讨论】:
-
您确定您正确配置了数据库后端吗?看起来您可能仍会以某种方式使用
sqlite。 -
是的,后端配置正确。它已被配置为使用 psycopg2 的 postgresql。这让它更加混乱 XD。
-
如果你删除了sqlite文件,然后重新启动服务器,它不会创建一个新的吗?
-
不。它不会创建任何 sqlite 文件,因为数据库是 postgresql。
-
如何清除auth_user的内容?
标签: django postgresql django-models django-forms