kentuck1213
@kentuck1213

Как заставить Django admin удалять через QuerySet.delete?

Есть модель, у нее есть manager:
class QuerySet(models.QuerySet):
    def delete(self):
        self.update(is_delete=True)


class BaseManager(models.Manager):
    def get_queryset(self):
        return QuerySet(self.model).filter(is_delete=False)

Удаляю через "delete selected objects", все okay, используется QuerySet.delete().
Удаляю через POST 127.0.0.1:8000/admin/article/7/delete как я понял используется Model.delete().
  • Вопрос задан
  • 67 просмотров
Решения вопроса 1
rSedoy
@rSedoy
Python/Django
Так QuerySet.delete только для QuerySet, а когда один конкретный объект удаляешь, там да Model.delete. Так что, или это переопределить https://docs.djangoproject.com/en/2.0/ref/contrib/... если надо только в админке или Model.delete() если везде.
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через TM ID
Похожие вопросы