Есть ли способ глобальной фильтрации модели Django? Нам нужно установить фильтр в одном месте, чтобы он применялся во всех запросах, генерируемых Django ORM, включая поиск связанных объектов и т. Д. Пример:
class A(Model):
n = IntegerField()
class B(Model):
a = ForeignKey(A)
Мы хотим установить глобальный фильтр id__gte = 10 (статический, чтобы упростить его). Затем фильтр должен автоматически применяться и при выполнении связанных запросов, например,
B.objects.filter(a__n=123) # this code cannot be modified
должен магическим образом расшириться до эквивалента
B.objects.filter(a__n=123, a__id__gte=10)
Мы можем изменить модели, менеджеры, наборы запросов, но мы не можем изменить код, к которому фактически запрашиваются объекты (много кода, сторонние приложения, универсальный API).