最佳Django实践,过滤ORM还是python?

2024-09-28 05:17:10 发布

您现在位置:Python中文网/ 问答频道 /正文

需要对QuerySet应用多个过滤器。我应该多次查询数据库,还是在Python中进行排序/筛选?你知道吗

data = Data.objects.all()   
for f in somefilters:
    tempdata = data.filter(*f.args)
    # do work

or

data = list(Data.objects.all())
for f in somefilters:
    tempdata = filter(data, key=...)
    #do work

Tags: in过滤器fordataobjects排序allfilter
1条回答
网友
1楼 · 发布于 2024-09-28 05:17:10

除非你有一个荒谬的过滤器数量,你可能应该只使用^{} objects。这就是他们的目的。你知道吗

from django.db.models import Q

q = Q()
for filter in filters:
    q |= Q(*f.args)
data = Data.objects.filter(q)

# Do things with `data`

相关问题 更多 >

    热门问题