2015-08-30 57 views

回答

1

我認爲更適合循環過濾。

如果您打算獲得QuerySet類型的結果,您可以簡單地循環它們,然後獲取ID列表,然後使用pk__in參數對其進行過濾。

ContentType.objecst.filter(
    pk__in=[ 
     ct.pk for ct ContentType.objects.all() 
     if content_type_has_method(ct, 'method_name') 
    ] 
) 

所以,你必須減少這個問題寫一個方法:

def content_type_has_method(ct, method_name): 
    ... 

而且我認爲這是對你簡單,祝你好運!

+0

這是神奇的!我認爲'for'循環只需要'in': 'ct.pk for Contentt.objects.all()' – 43Tesseracts

相關問題