我在Django模型中使用此功能。当我使用-makemigrations时,我收到错误:
ValueError:在party.models中找不到函数包装器。 请注意,由于Python 2的限制,您无法序列化未绑定的方法函数(例如,在同一类体中声明和使用的方法)。请将该功能移动到主模块主体中以使用迁移。
def path_and_rename(path):
def wrapper(instance, filename):
ext = filename.split('.')[-1]
# get filename
if instance.pk:
filename = '{}.{}'.format(instance.pk, ext)
else:
# set filename as random string
filename = '{}.{}'.format(uuid4().hex, ext)
# return the whole path to the file
return os.path.join(path, filename)
return wrapper
怎么做?