2

我定义了一个名为Foo的模型,它有一个名为bar的FileField,我定义了一个函数baz,该函数可用于 bar在同一文件中的upload_to争论。当我删除bar字段和baz函数并执行makemigrations操作时,它会引发错误“AttributeError:模块'models'没有属性'baz'”。

我该如何解决这个错误?

下面是片段演示

import os
import time

from django.db import models


def baz(instance, filename):
    ext = filename.split('.')[-1]
    fn = time.strftime('%Y%m%d%H%M%S')
    com = fn + '.' + ext
    return os.path.join('', com)


class Foo(models.Model):
    name = models.CharField(max_length=255)
    bar = models.FileField(upload_to=baz)  # wants to remove
4

1 回答 1

1

这是因为migration file。要解决此问题,您可以将上传路径更改为migrations包含bar字段初始创建的文件中的字符串。更改迁移字段upload_to路径。

于 2022-03-02T04:25:29.263 回答