Уведомления

Группа в Telegram: @pythonsu

#1 Ноя. 2, 2010 15:46:08

Slon
От:
Зарегистрирован: 2009-03-04
Сообщения: 56
Репутация: +  0  -
Профиль   Отправить e-mail  

Admin Actions и Model.delete()

Доброго времени суток,
Подскажите как починить плиз: я в модели переопределил метод delete() чтобы он при удалении стирал еще и папку на локальном диске.

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

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



Офлайн

#2 Ноя. 2, 2010 17:40:00

slav0nic
Команда
От: dp.ua
Зарегистрирован: 2006-05-07
Сообщения: 2267
Репутация: +  41  -
Профиль   Отправить e-mail  

Admin Actions и Model.delete()

есть аткое дело. я вместо переопределния тупо отключил) делать в цикле удаление - не айс тоже, delete() в джанге довольно отстойная тема)

Офлайн

#3 Ноя. 2, 2010 20:26:34

bw
От:
Зарегистрирован: 2007-09-26
Сообщения: 938
Репутация: +  20  -
Профиль   Адрес электронной почты  

Admin Actions и Model.delete()

Это Django, нет элегантного решения, используй первое что пришло тебе в голову.

..bw



Офлайн

#4 Ноя. 2, 2010 21:16:35

Александр Кошелев
От: Москва
Зарегистрирован: 2007-02-03
Сообщения: 1724
Репутация: +  2  -
Профиль   Отправить e-mail  

Admin Actions и Model.delete()

slav0nic
делать в цикле удаление - не айс тоже
Почему? Вполне решение.



Офлайн

#5 Ноя. 3, 2010 03:54:42

fth
От:
Зарегистрирован: 2010-07-26
Сообщения: 105
Репутация: +  0  -
Профиль   Отправить e-mail  

Admin Actions и Model.delete()

На правах предположения:
А если в модели завязать эту папку на FilePathField она не будет её за компанию удалять?



Офлайн

#6 Ноя. 3, 2010 09:59:44

slav0nic
Команда
От: dp.ua
Зарегистрирован: 2006-05-07
Сообщения: 2267
Репутация: +  41  -
Профиль   Отправить e-mail  

Admin Actions и Model.delete()

Daevaorn
нууу, всё относительно) хотя в принципе если 100 объеков удалять, то наверно ещё сойдёт

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

Офлайн

#7 Ноя. 3, 2010 10:54:22

Doberman26rus
От: Ставрополь
Зарегистрирован: 2009-03-16
Сообщения: 128
Репутация: +  1  -
Профиль   Отправить e-mail  

Admin Actions и Model.delete()

bw
Это Django, нет элегантного решения, используй первое что пришло тебе в голову.

..bw
а как же принцыпы питона?



подпись

Офлайн

Board footer

Модераторировать

Powered by DjangoBB

Lo-Fi Version