【发布时间】:2017-04-06 01:17:22
【问题描述】:
在我的项目中,我遇到了一些需要在同一个视图中多次查询同一个模型的情况。 (在这种情况下,我使用的是 django 模型,因为我使用的是 django 和 postgresql)。
第一种方法可能是在同一个模型上过滤多次。
另一种方法可能是我在模型上查询并获取所有数据,然后将其保存到局部变量中。然后我可以对该变量进行多次过滤。
哪种方法最有效,我的意思是更快,我应该采用哪种方法。
假设我有一个名为 People 的模型,我可以采用以下两种方法:
(1)
active_peoples = People.objects.filter(active=True)
lazy_peoples = People.objects.filter(lazy=True)
inactive_peoples = People.objects.filter(active=False)
good_peoples = People.objects.filter(good=True)
bad_peoples = People.objects.filter(good=False)
(2)
peoples = People.objects.all()
lazy_peoples = peoples.filter(lazy=True)
inactive_peoples = peoples.filter(active=False)
good_peoples = peoples.filter(good=True)
bad_peoples = peoples.filter(good=False)
哪种方法更快??
【问题讨论】:
-
没有具体的例子,这太模糊了,无法回答
标签: django postgresql django-models