我有一个Django模型,具有两个自定义管理器方法。每个方法根据对象的不同属性返回模型对象的不同子集。
class FeatureManager(models.Manager):
def without_test_cases(self):
return self.get_query_set().annotate(num_test_cases=models.Count('testcase_set')).filter(num_test_cases=0)
def standardised(self):
return self.get_query_set().annotate(standardised=Count('documentation_set__standard')).filter(standardised__gt=0)
(testcase_set
和documentation_set
都是指其他模型上的ManyToManyField
。)
有没有办法获取一个查询集或对象列表,该列表是由每个管理器方法返回的查询集的交集?
Model.objects.managerMethodOne().managerMethodTwo()
这样吗?但好像不起作用。也许我没有正确编写我的管理器方法? - Paul D. WaiteModel.objects.filter(this=that).filter(that=somethingelse)
?这是指筛选函数本身。 - S.Lottget_query_set()
吗?filter
是否完全嵌入到get_query_set()
方法中?是什么问题真正阻止了您简单地链接过滤器? - S.Lott