Пользовательское поле Django Model сравнивает предыдущие и новые значения

У меня есть поле в админ, как это:

В настоящее время добавление новых элементов в поле заменяет все поле новыми файлами (File Input позволяет использовать несколько изображений). Однако цель состоит в том, чтобы иметь возможность сделать две вещи:

  • Загруженные фотографии добавляются в существующий список фотографий вместо замены
  • Нажав кнопку "Очистить", снимите фотографии

Текущее представление базы данных - это postgres JSONField. Для достижения текущего состояния я переопределил виджет ClearableInputField и поле формы ImageField для поддержки нескольких файлов.

Я также создал настраиваемое поле "Модель фотографии", которое использует JSONField для загрузки файлов. Теперь вот моя самая большая проблема. В типичном сценарии, если поле очищено, файл / изображение будут удалены, если это требуется логикой приложения. Тем не менее, из-за того, что я возился с содержимым поля, чтобы удалить фотографии из хранилища, я не уверен, где удалить фотографии. Мне нравится думать об этом так. Мое поле - это "Модель", которая обладает некоторыми свойствами. Однако это поднимает один большой вопрос. Поскольку я работаю на уровне поля, я не могу получить доступ к предыдущему значению, чтобы сравнить значения для удаления или добавления фотографий.

Есть ли способ управлять этим на уровне поля? Причина, по которой я хочу добиться этого, заключается в том, что я хочу, чтобы мое поле "Фотографии" было автономным и использовалось во многих местах с минимальными изменениями (я не хочу каждый раз для этого писать код добавления).

0 ответов

Другие вопросы по тегам