Python 如何在创建超级用户时修复此错误?
运行此命令时,我遇到此错误:Python 如何在创建超级用户时修复此错误?,python,django,heroku,Python,Django,Heroku,运行此命令时,我遇到此错误: heroku run python manage.py createsuperuser 我尝试运行了makemigrations,然后运行了migrate,效果很好,但仍然出现了这个错误 您有13个未应用的迁移。您的项目可能无法正常工作,除非您为应用程序(admin、auth、contenttypes、sessions)应用迁移。 运行“python manage.py migrate”以应用它们 回溯(最近一次呼叫最后一次): 文件“/app/.heroku/p
heroku run python manage.py createsuperuser
我尝试运行了makemigrations
,然后运行了migrate
,效果很好,但仍然出现了这个错误
您有13个未应用的迁移。您的项目可能无法正常工作,除非您为应用程序(admin、auth、contenttypes、sessions)应用迁移。
运行“python manage.py migrate”以应用它们
回溯(最近一次呼叫最后一次):
文件“/app/.heroku/python/lib/python3.6/site packages/django/db/backends/utils.py”,执行中的第64行
返回self.cursor.execute(sql,params)
文件“/app/.heroku/python/lib/python3.6/site packages/django/db/backends/sqlite3/base.py”,第337行,在execute中
返回Database.Cursor.execute(self、query、params)
sqlite3.OPERATIONALROR:没有这样的表:auth_user
编辑:
}
我认为您的设置文件也缺少从env变量读取DB config的正确配置。这就是heroku存储信息的地方。“我试着运行makemigrations,然后进行迁移”-确切地说,是如何进行的
manage.py makemigrations
应该只在开发机器上运行,但是manage.py migrate
应该在本地和Heroku上运行。您是否在Heroku上运行过manage.py migrate
,例如通过Heroku run
?@Chris我这样做了:Heroku运行python manage.py makemigrations,Heroku运行python manage.py migrateAlso,正如Alex指出的,您不能在Heroku上使用SQLite。您必须使用像PostgreSQL这样的客户机-服务器数据库(开箱即用)。请回答您的问题,并向我们展示您的设置.py
@akki的数据库部分,由于某些原因,您的数据库设置没有得到更新(错误输出中有sqlite3.OperationalError
)。(a) 是否显示以postgres://
开头的数据库URL
值?(请不要在此处发布其值。该值包含您的数据库凭据。)(b)如果您运行,则从django.conf导入设置;打印(settings.DATABASES)
您是否看到预期的默认值
?我认为您的设置文件也缺少从env变量读取DB config的正确配置。这就是heroku存储信息的地方。“我试着运行makemigrations,然后进行迁移”-确切地说,是如何进行的manage.py makemigrations
应该只在开发机器上运行,但是manage.py migrate
应该在本地和Heroku上运行。您是否在Heroku上运行过manage.py migrate
,例如通过Heroku run
?@Chris我这样做了:Heroku运行python manage.py makemigrations,Heroku运行python manage.py migrateAlso,正如Alex指出的,您不能在Heroku上使用SQLite。您必须使用像PostgreSQL这样的客户机-服务器数据库(开箱即用)。请回答您的问题,并向我们展示您的设置.py
@akki的数据库部分,由于某些原因,您的数据库设置没有得到更新(错误输出中有sqlite3.OperationalError
)。(a) 是否显示以postgres://
开头的数据库URL
值?(请不要在此处发布其值。该值包含您的数据库凭据。)(b)如果您运行,则从django.conf导入设置;打印(设置.数据库)
您是否看到预期的默认值
?
DATABASES = {
'default': {
'ENGINE': 'django.db.backends.sqlite3',
'NAME': os.path.join(BASE_DIR, 'db.sqlite3'),
}
import dj_database_url
db_from_env = dj_database_url.config()
DATABASES['default'].update(db_from_env)