我定义了一个名为Foo的模型,该模型有一个FileField名为bar,并且我定义了可调用的函数baz用于同一文件中bar的upload_to参数。当我删除bar字段和baz函数并执行makemigration操作时,它会引发错误";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
这是因为migration file
。要解决此问题,您可以将上载路径更改为migrations
文件中的字符串,该文件包含初始创建的bar
字段更改迁移字段upload_to
路径