Как сделать удобную загрузку изображений для поля ManyToManyField?

У меня есть модели:

class Post(models.Model):
    images = models.ManyToManyField(PostImage)
    ...

class PostImage(models.Model):
    image = models.ImageField(upload_to='post_images/')
    ...

И соответствующие классы в файле admin.py:

class PostImageAdmin(admin.TabularInline):
    model = Post.images.through

class PostAdmin(admin.ModelAdmin):
    inlines = [PostImageAdmin]

Что нужно сделать, чтобы в админке сайта вместо выбора сохраненного объекта PostImage я мог просто загружать изображения через поле ImageField?

Вкратце, мне нужно заменить это на это.

Я попытался переопределить виджет следующим образом:

formfield_overrides = {models.ForeignKey: {'widget': AdminFileWidget}}

в классе PostImageAdmin, но когда я пытаюсь сохранить пост, я получаю ошибку:

Select a valid choice. That choice is not one of the available choices.

P.S. ManyToManyField требуется по некоторым причинам.

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