有没有办法全局过滤 Django 模型?我们需要在一个地方设置一个过滤器,以便它应用于 Django ORM 生成的所有查询,包括相关对象查找等。示例:
class A(Model):
n = IntegerField()
class B(Model):
a = ForeignKey(A)
我们想在 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)。
最佳答案
如何使用过滤器在数据库中创建一个 View 并创建一个指向该 View 的 Django 模型?
关于python - Django 全局过滤器,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54240463/