fox_12
@fox_12
Расставляю биты, управляю заряженными частицами

Удалить объект через родительский метод?

Есть некая модель, у которой метод delete переопределен. Например что-то вроде:

class SomeModel(SomeParent):
     deleted = models.BooleanField(default=False)

     def delete(self):
          self.deleted = True
          self.save()

Я в консоли и хочу удалить объект:
>>> my_obj = SomeModel.object.get(pk=some_pk)
>>> my_obj.delete()


Естественно объект не удаляется, а только меняется его поле. Сам объект остается.
Как мне все-таки удалить объект из консоли? Писать новый класс с наследованием родительской модели (у родительской модели, скажем, - данный метод работает штатно), или как-то еще?

Объект уже в консоли. И я хочу его удалить. parent мне недоступен, насколько понимаю:

>>> 'parent' in dir(my_obj)
False
  • Вопрос задан
  • 191 просмотр
Решения вопроса 2
Попробуйте models.Model.delete(my_obj)
Ответ написан
Комментировать
fox_12
@fox_12 Автор вопроса, куратор тега Django
Расставляю биты, управляю заряженными частицами
Получилось удалить через queryset:
>>> SomeModel.objects.filter(pk=my_obj.pk).delete()
>>> SomeModel.objects.get(pk=my_obj.pk)
Traceback (most recent call last):
  File "<console>", line 1, in <module>
....
DoesNotExist: SomeModel matching query does not exist. Lookup parameters were {'pk': some_pk}
)
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

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

Похожие вопросы