【问题标题】:Django: __init__.py package breaks migrationsDjango:__init__.py 包中断迁移
【发布时间】:2020-06-07 01:17:26
【问题描述】:

在我的应用程序中,我有文件结构:

myapp/
    ...
    models.py
    helpers/
        __init__.py
        RandomFileName.py
    ...

在 RandomFileName.py 中,我有一个帮助类,可以为我的模型生成随机文件名:

class RandomFileName(object):
    ...

在模型中,我想将helpers/ 目录视为一个模块:

from myapp.helpers import RandomFileName

class MyImage(models.Model):
    ...
    image = models.ImageField(upload_to=RandomFileName('images/'))
    ...

然后,我运行python3 manage.py makemigrations myapp 看起来不错。

然后,我运行python3 manage.py migrate 并得到一个错误:

in Migration
  ('image', models.ImageField(upload_to=myapp.helpers.RandomFileName.RandomFileName('images/'))),
AttributeError: type object 'RandomFileName' has no attribute 'RandomFileName'

为什么 RandomFileName 在迁移中翻了一番?我哪里做错了?

【问题讨论】:

    标签: python django django-migrations django-packages


    【解决方案1】:

    不知何故,您的 init.py 文件可能已经导入了您的对象。查看。如果没有,那么只需执行 myapp.helpers.RandomFileName('images/') 代替(基于异常消息)即可解决问题。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2015-07-11
      • 1970-01-01
      • 2018-12-29
      • 1970-01-01
      • 2017-07-25
      • 2014-08-04
      • 2021-07-21
      • 2016-09-05
      相关资源
      最近更新 更多