Django:__init__.py软件包中断了迁移

问题描述 投票:0回答:1

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

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个回答
0
投票
以某种方式,您的

init。py文件可能已导入您的对象。校验。如果不是,则只需执行myapp.helpers.RandomFileName('images /')(基于异常消息)即可解决此问题。

© www.soinside.com 2019 - 2024. All rights reserved.