Найти - Пользователи
Полная версия: Admin Actions и Model.delete()
Начало » Django » Admin Actions и Model.delete()
1
Slon
Доброго времени суток,
Подскажите как починить плиз: я в модели переопределил метод delete() чтобы он при удалении стирал еще и папку на локальном диске.

При использовании model.delete() все работает как нужно и все вроде хорошо, но если попробовать сделать это через Actions(delete_selected), папка остается на месте. Покопав я понял что беда в том, что вызывается QuerySet.delete() вместо model.delete().

У меня пока тока одна идея, сделать свой action который будет выбирать по одному объекту из queryset и вызывать model.delete(). Это правильно, или есть более элегантное решение?
slav0nic
есть аткое дело. я вместо переопределния тупо отключил) делать в цикле удаление - не айс тоже, delete() в джанге довольно отстойная тема)
bw
Это Django, нет элегантного решения, используй первое что пришло тебе в голову.

..bw
Александр Кошелев
slav0nic
делать в цикле удаление - не айс тоже
Почему? Вполне решение.
fth
На правах предположения:
А если в модели завязать эту папку на FilePathField она не будет её за компанию удалять?
slav0nic
Daevaorn
нууу, всё относительно) хотя в принципе если 100 объеков удалять, то наверно ещё сойдёт

кстати как вариант, можно добавить в модель поле-флаг, показывающее что объект удалён, ну и manager для модели написать, чтоб фильтровал эти объекты. В джанге ещё с каскадным удалением весело, по неопытности можно поймать лулз В)
Doberman26rus
bw
Это Django, нет элегантного решения, используй первое что пришло тебе в голову.

..bw
а как же принцыпы питона?
This is a "lo-fi" version of our main content. To view the full version with more information, formatting and images, please click here.
Powered by DjangoBB