두 개의 사용자 정의 관리자 메소드가있는 장고 모델이 있습니다. 각각은 객체의 다른 속성을 기반으로 모델 객체의 다른 하위 세트를 반환합니다.두 장고 쿼리 세트의 교차점을 어떻게 찾을 수 있습니까?
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
의를 참조하십시오.)
의 검색어, 또는 객체의 단지 목록을 얻을 수있는 방법이 있습니까, 그 각각에 의해 반환 된 검색어 세트의 intersectiond입니다 매니저 방법?
을 사용할 수 각 매니저의 두 필터 기능을 결합하는 것을 어떻게 막을 수 있습니까? –
'Model.objects.managerMethodOne(). managerMethodTwo()'와 같은 의미입니까? 그게 효과가없는 것 같아요. 어쩌면 관리자 방법을 올바르게 작성하지 않았을 수 있습니까? –
필터가 작동합니다. 'Model.objects.filter (this = that) .filter (that = somethingelse)'입니다. 왜 그렇게하지 않니? –