我在django中定义了一个新模型。看起来是这样的:
class User(models.Model):
email = models.EmailField(primary_key=True)
REQUIRED_FIELDS = []
USERNAME_FIELD = 'email'
is_anonymous = False
is_authenticated = True我已经将它包含在settings.py中的应用程序注册了
INSTALLED_APPS = [
# 'django.contrib.admin',
'django.contrib.auth',
'django.contrib.contenttypes',
'django.contrib.sessions',
'django.contrib.messages',
'django.contrib.staticfiles',
'lists',
'accounts', # <-- this
]我已经刷新了数据库,运行了migrate --run-syncdb,重新创建了迁移并进行了迁移。因此,在运行服务器时,我没有任何you have un-applied migrations消息。
然而,django.db.utils.OperationalError: no such table : accounts_user仍然存在。
我使用了shell,它也会抛出错误:
>>> from accounts.models import *
>>> User
<class 'accounts.models.User'>
>>> User.objects
<django.db.models.manager.Manager object at 0x7fbcbea35ef0>
>>> User.objects
<django.db.models.manager.Manager object at 0x7fbcbea35ef0>
>>> User.objects.all()
Traceback (most recent call last):
django.db.utils.OperationalError: no such table: accounts_user我已经用尽了我所知道的所有其他选择。
当遇到这样的错误时,有人能提供一个通用的检查清单(不管多么愚蠢)吗?
发布于 2020-09-02 11:43:30
在我的例子中,我不得不重新创建整个数据集。
我不得不手动删除sqlite文件并重新创建它。在那之后,错误就消失了。
这也可以通过manage.py来完成。
发布于 2020-08-25 20:42:31
这是我的一般支票单
正确生成
下生成的。
如果未正确生成
python manage.py makemigrations再次生成并再次迁移python manage.py makemigrations如果django_migrations表正确,则检查表。
SELECT "_rowid_",* FROM "main"."django_migrations" ORDER BY "_rowid_" ASC
并确认执行了相应的accounts_user迁移文件.
https://stackoverflow.com/questions/63586526
复制相似问题