Django makdmigrations вызывает ошибку после удаления функции в models.py

Я определяю модель Foo, которая имеет поле FileField с именем bar, и определяю функцию baz, которая является вызываемой и используется для аргумента bar's upload_to в том же файле. Когда я удаляю поле bar и функцию baz и выполняю операции makemigrations, возникает ошибка "AttributeError: module 'models' has no attribute '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 поле initial create. Измените поле миграции upload_to path.

Вернуться на верх