2013-05-29 140 views
15

我有一個Django動作函數,我希望在基於不同模型的查詢集上使用它。Django查詢查詢集的模型類型的最佳方法

什麼是檢查模型類型的最佳方法我的查詢集是由什麼組成的?說我要來檢查了在我的models.py

定義目前圖書館類,我可以得到它使用

for object in queryset : 
    if object.__class__.__name__ == "Library" 

工作,但我相信有這樣做的更好的辦法。

我假設我做了一些使用queryset.model。 我曾嘗試以下,但它不會做什麼,我希望它:

import myapp.models.Library 

def my function(modeladmin,request queryset) 

    if isinstance(queryset.model , Library) : 
     # do something specific here 
+0

你可以用' modeladmin.model'找到模型 –

+0

是的,但這與queryset.model給我的相同。 –

回答

23

好吧,我明白了,我用的是isinstance()而不是:

if queryset.model is Library : 
    # do something. 
+0

檢查失敗時會引發什麼異常? – RaffAl