0

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

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 在迁移中翻了一番?我哪里做错了?

4

1 回答 1

0

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

于 2020-02-23T02:42:08.940 回答