Django upload_to из ImageField не работает

У меня есть модель, в которой я хочу хранить изображение обложки для публикации, вот код для этого поля в models.py: cover = models.ImageField(upload_to="covers/")

У меня в файле settings.py:

MEDIA_URL='/media/'
MEDIA_ROOT=os.path.join(BASE_DIR,'media')

и в корне проекта у меня есть media/covers/: структура папки

Я сохраняю модель следующим образом:

views.py

title = request.POST["title"]
description = request.POST["description"]
initial_bid = int(request.POST["initial_bid"])
category = request.POST["category"]
cover = request.POST["cover"]
               
save_auction(title, description, initial_bid, category, cover, User(request.user.id))
def save_auction(title, description, initial_bid, category, cover, author):
    
    auction = Auction(
            title=title, 
            description=description, 
            initial_bid=initial_bid, 
            category=category,
            status=0, 
            cover=cover, 
            author= author, 
            winner = None
        )
    
    auction.save()

Модель сохраняется в базе данных, но изображение не сохраняется в нужной папке. Я попробовал определить функцию следующим образом

def user_cover_path(instance, filename): 
 
    return 'user_{0}/covers/{1}'.format(instance.user.id, filename) 

cover = models.ImageField(upload_to=user_cover_path)

но не сработало

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