django - gcloud app deploy - TypeError:__init__()缺少1个必需的位置参数:'on_delete'
问题描述
这是我第一次在谷歌云中部署我的应用程序。当我输入“ gcloud app deploy
”命令时,由于TypeError: __init__() missing 1 required positional argument: 'on_delete'
. 但这似乎不是我的编码问题,而是 django 本身的问题。请给我任何有助于我理解此错误消息的评论。
Updating service [default] (this may take several minutes)...failed.
ERROR: (gcloud.app.deploy) Error Response: [9] Application startup
error: [2018-08-06 23:53:20 +0000] [1] [INFO] Starting gunicorn 19.9.0
[2018-08-06 23:53:20 +0000] [1] [INFO] Listening at:
http://0.0.0.0:8080 (1) [2018-08-06 23:53:20 +0000] [1] [INFO] Using
worker: sync [2018-08-06 23:53:20 +0000] [7] [INFO] Booting worker
with pid: 7 [2018-08-06 23:53:20 +0000] [7] [ERROR] Exception in
worker process Traceback (most recent call last): File
"/env/lib/python3.6/site-packages/gunicorn/arbiter.py", line 583, in
spawn_worker
worker.init_process() File "/env/lib/python3.6/site-packages/gunicorn/workers/base.py", line 129,
in init_process
self.load_wsgi() File "/env/lib/python3.6/site-packages/gunicorn/workers/base.py", line 138,
in load_wsgi
self.wsgi = self.app.wsgi() File "/env/lib/python3.6/site-packages/gunicorn/app/base.py", line 67, in
wsgi
self.callable = self.load() File "/env/lib/python3.6/site-packages/gunicorn/app/wsgiapp.py", line 52,
in load
return self.load_wsgiapp() File "/env/lib/python3.6/site-packages/gunicorn/app/wsgiapp.py", line 41,
in load_wsgiapp
return util.import_app(self.app_uri) File "/env/lib/python3.6/site-packages/gunicorn/util.py", line 350, in
import_app
__import__(module) File "/home/vmagent/app/acct/wsgi.py", line 16, in <module>
application = get_wsgi_application() File "/env/lib/python3.6/site-packages/django/core/wsgi.py", line 12, in
get_wsgi_application
django.setup(set_prefix=False) File "/env/lib/python3.6/site-packages/django/__init__.py", line 24, in
setup
apps.populate(settings.INSTALLED_APPS) File "/env/lib/python3.6/site-packages/django/apps/registry.py", line 112,
in populate
app_config.import_models() File "/env/lib/python3.6/site-packages/django/apps/config.py", line 198, in
import_models
self.models_module = import_module(models_module_name) File "/env/lib/python3.6/importlib/__init__.py", line 126, in import_module
return _bootstrap._gcd_import(name[level:], package, level) File "/env/lib/python3.6/site-packages/data_wizard/models.py", line 15, in
<module>
class Run(models.Model): File "/env/lib/python3.6/site-packages/data_wizard/models.py", line 16, in
Run
user = models.ForeignKey(settings.AUTH_USER_MODEL) TypeError: __init__() missing 1 required positional argument: 'on_delete' [2018-08-06 23:53:20 +0000] [7] [INFO] Worker exiting (pid: 7)
[2018-08-06 23:53:20 +0000] [1] [INFO] Shutting down: Master
[2018-08-06 23:53:20 +0000] [1] [INFO] Reason: Worker failed to boot.
解决方案
看起来有问题django-data-wizard
。从 Django 2.0 开始,字段on_delete
的参数是强制性的ForeignKey
,显然数据向导库没有传递该参数:
https://docs.djangoproject.com/en/2.0/releases/2.0/#features-removed-in-2-0
现在在模型和迁移中需要 ForeignKey 和 OneToOneField 的 on_delete 参数。
检查您的数据向导版本是否支持 Django 2.x,如果不需要,请删除依赖项。
推荐阅读
- jhipster - JHipster 7.1.0:无法生成网关,Provider reactor.blockhound.junit.platform.BlockHoundTestExecutionListener 无法实例化
- angular - 当我们尝试添加组件时,为什么 Angular cli 会出现以下错误?
- python-3.x - XLRDError:不支持的格式,或损坏的文件:预期的 BOF 记录;找到 b'Company
- groovy - 如何使用 Groovy/Java 从文本(字符串)中获取特定字符串?
- ios - RefreshControl 没有动画
- image - 用于将图像转换为图形神经网络的光谱聚类
- go - 指针接收器方法编译问题:无法在“MyObj{}”上调用指针方法
- class - 如何使用继承类创建快餐菜单
- python - 如何使用变形金刚改善我的训练阶段?(文字分类)
- javascript - Reactjs 按钮 UI 不会根据 api 数据动态变化