Может так?
def save_model(self, request, obj, form, change):
try:
audio = MP3(obj.file)
except:
messages.error(request, "Файл поврежден.")
return
else:
super().save_model(request, obj, form, change)
К сожалению нет... Завершение save_model не предусматривает выхода с ошибкой (во всяком случае я этого не нашел...)
Пока сделал так: в файле
...\PycharmProjects\DjangoProject\venv\Lib\site-packages\django\contrib\admin\options.py
(в виртуальном окружении) сделал следующую замену:
# * №1 БЛОК ЗАМЕНЕН НА СЛЕДУЮЩИЙ: *************************************************
if str(obj) == '':
msg = format_html(
_('Файл поврежден и не был добавлен!'),
**msg_dict
)
self.message_user(request, msg, messages.ERROR)
else:
msg = format_html(
_('The {name} “{obj}” was added successfully.'),
**msg_dict
)
self.message_user(request, msg, messages.SUCCESS)
# *********************************************************************************
# * №1 БЛОК ИСХОДНЫЙ **************************************************************
# msg = format_html(
# _('The {name} “{obj}” was added successfully.'),
# **msg_dict
# )
# self.message_user(request, msg, messages.SUCCESS)
# *********************************************************************************
Понимаю что колхоз, но за неимением лучшего пока сойдет и так.
Спасибо за участие!