Django Queryset Design: Отфильтровать мягко удаленных пользователей?
 У меня есть модель пользователя с мягким удалением в Django, где мы устанавливаем is_active значение False.
 Но одна проблема, с которой я сталкиваюсь, заключается в необходимости отфильтровывать is_active пользователей на каждом типе контента:
Item.objects.filter(user__is_active=False, ...)Comment.objects.filter(user__is_active=False, ...)User.objects.filter(is_active=False, ...)
И так далее. Есть ли какой-то шаблон проектирования Django / Pythonic, который я могу использовать здесь, чтобы избежать необходимости вручную отфильтровывать всех пользователей каждый раз, когда я запрашиваю что-то, сделанное пользователем, или текущий список пользователей?
https://docs.djangoproject.com/en/4.0/topics/db/managers/
 Вам необходимо использовать пользовательские менеджеры и добавить в модель.
Вы можете переопределить метод get_queryset для фильтрации is_active.
Вы можете использовать ModelManager.
Например:
class ItemManager(models.Manager):
    def get_queryset(self):
        return super().get_queryset().filter(is_active=True)
class Item(models.Model):
    .....
    objects = ItemManager() # your custom manager
    all_objects = models.Manager() # default manager
 Теперь с Item.objects.all() вы получите объекты, имеющие только is_active=True. 
 Если вам нужны все объекты, то вы можете использовать Item.all_objects.all()