![](/img/trans.png)
[英]Django error when creating superuser django.db.utils.OperationalError: no such table: auth_user
[英]django.db.utils.OperationalError: no such table: MainApp_user when i try to create superuser
我制作了一些 Web 应用程序,几乎在开发过程的最后,我决定自定义用户模型以制作包含许多其他信息的个人资料页面。 最近我发现了一个视频,其中解释了 django 文档中的示例,我制作了与之前相同的代码,但起初我删除了我的文件 db.sqlite3,现在当我尝试创建超级用户时,我总是会发现下一个错误: django.db.utils.OperationalError: no such table: MainApp_user
这是我的models.py :
class MyUserManager(BaseUserManager):
def create_user(self, username, password):
if not username:
raise ValueError("Mailname field is empty")
if not password:
raise ValueError("You have to set password")
user = self.model(
username=username,
)
user.set_password(password)
user.save(using=self._db)
return user
class User(AbstractBaseUser):
username = models.CharField(max_length=30, unique=True)
password = models.CharField(max_length=64)
name = models.CharField(max_length=30, blank=True)
surname = models.CharField(max_length=30, blank=True)
avatar = models.ImageField(width_field=512, height_field=512)
email_link = models.CharField(max_length=64, blank=True, null=True)
bio = models.CharField(max_length=512, blank=True, null=True)
registered = models.DateField(auto_now_add=True)
USERNAME_FIELD = "username"
REQUIRED_FIELDS = ['password']
objects = MyUserManager()
def __str__(self):
return self.username
我还在 settings.py 中添加了下一个变量:
AUTH_USER_MODEL = "MainApp.User"
为什么会发生此错误以及如何解决它,请帮助。
***Ofc,我确实迁移到了数据库
我确实找到了解决方案。 就我而言,当我删除 db.sqlite3 文件时,我也删除了应用程序中的“迁移”文件夹。 当然,我再次创建了它,但问题在于我忘记在迁移文件夹中添加init .py 。 应用迁移后的 django 仅在数据库中生成系统表(auth_users、contenttypes 和其他),它没有保存我自己的模型。 因此,如果您遇到任何类似问题,请记住迁移文件夹中的init .py 。 Good luck !
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.