2017-03-02 25 views
0

我想知道Django模型對象在滿足相同標準的對象內的排名是什麼。評價一個Django查詢:在Django查詢中使用python的.index()[values_list(Flat = True)]

我的想法是讓主鍵的這樣一個扁平values_list:

[在models.py頁面,在模型「風險」,其他鏈接的模型Worktask和類型]

my_list_of_filtered_pks = Risk.objects.filter(
     worktask__code = self.worktask.code, 
     type__id = self.type.id 
    ).values_list('pk', flat=True).order_by('pk') 

,然後使用類似讓我的特定情況下的指標:

rank = my_list_of_filtered_pks.index(self.pk) 

,但我得到一個錯誤,說我my_list_of_filtered_pks有沒有屬性「索引」

'QuerySet' object has no attribute 'index' 

我在這裏錯過了什麼?

謝謝!我對django比較陌生。

回答

1

查詢集尚未評估。試試這個:

rank = list(my_list_of_filtered_pks).index(self.pk) 

Docs

+0

明白了!有用。 我還沒有意識到,當我以前調用count()(以確保查詢工作)時,它實際上只是在評估它。 謝謝!您如何編輯標題以使問題對其他人更容易理解? – Malcoolm