【问题标题】:makemigration causing error "TypeError: expected str, bytes or os.PathLike object, not NoneType"makemigration 导致错误“TypeError:预期的 str、字节或 os.PathLike 对象,而不是 NoneType”
【发布时间】:2019-09-27 21:59:51
【问题描述】:

在 docker 容器中运行 makemigration 命令导致此错误,谁能帮我找出问题所在?

python3.7 manage.py makemigrations
Traceback (most recent call last):
  File "/usr/local/lib/python3.7/site-packages/reportlab/lib/utils.py", line 667, in open_for_read
    return open_for_read_by_name(name,mode)
  File "/usr/local/lib/python3.7/site-packages/reportlab/lib/utils.py", line 611, in open_for_read_by_name
    return open(name,mode)
TypeError: expected str, bytes or os.PathLike object, not NoneType

【问题讨论】:

  • 你能看到/usr/local/lib/python3.7/site-packages/reportlab/lib/utils.py 在第 611 行附近有什么吗? name 是 None,open 期望它是一个文件名等。
  • 您的代码中有错误,请向我们提供您的视图、模型和表单以供初学者使用。

标签: python django python-3.x database-migration django-migrations


【解决方案1】:

请检查your_app/migrations/__init__.py是否缺席

如果它不存在,django 可能会抛出这个异常和这种情况下的解决方案

-> 添加__init__.py 再次执行python manage.py makemigrations

【讨论】:

    【解决方案2】:

    您使用的是旧版本的django

    from importlib import import_module
    import_module('yourapp.migrations')
    

    import_module 行为在 python 3.6(或 3.7,我不记得了)中发生了变化。

    要么提升你的 django 版本,要么使用 python

    【讨论】:

      猜你喜欢
      • 2019-08-24
      • 1970-01-01
      • 2023-03-14
      • 2021-10-27
      • 2021-03-05
      • 2017-10-23
      • 2020-07-12
      • 2019-04-11
      • 2021-10-21
      相关资源
      最近更新 更多