在 django-datatable-view 上定义过滤器

Define Filter on django-datatable-view

我正在使用 django-datatable-view 来显示我的数据。我有一个场景,我需要从满足特定条件的模型中检索记录。 例如,请求可以描述为:

"SELECT * FROM model WHERE column_1='value_1' AND column_2='value_2'

我该如何实现?实际上,我看到了 the examples,但我没有有效的想法来执行此操作。 你能帮我查看定义或参考正确的示例吗?

我认为官方指出了正确答案documentation

您可以过滤 QuerySet,如示例所示:

Entry.objects.filter(pub_date__year=2006)

对于你的情况,它可能是:

Entry.objects.filter(column_1='value_1').filter(column_2='value_2')

也有可能重复 this topic

看来我们应该实现一个 get_queryset(self) 方法来应用于目标过滤器:

def get_queryset(self):
    return Entity.objects.filter('item_1'='value_1')

虽然这可能会产生正确的 table 值,但是加载性能会显着降低。 也许其他解决方案可以节省性能,或者我们应该使用缓存等其他技术。