跨越关系但以编程方式进行的 Django 过滤器?

Django filter that spans relationships but programmatically?

我知道要在 Django 过滤器中跨越一个关系,您可以像这样使用双下划线:

Blog.objects.filter(entry__headline__contains='Lennon')

但是,我有一堆将在运行时确定的动态过滤器。我可以通过编程实现与上述相同的功能吗?

你可以制作一个字典,然后将它解压到关键字参数中:

filters = {'entry__headline__contains': 'Lennon'}
Blog.objects.filter(**filters)  

其中 entry__headline__contains 可以动态计算。