2013-05-29 108 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