Django检查查询集的模型类型的最佳方法

时间:2013-05-29 10:21:37

标签: django action django-queryset

我有一个Django动作函数,我想在基于不同模型的查询集上使用它。

检查我的查询集组成的模型类型的最佳方法是什么?假设我想检查我的models.py

中定义的Library类

目前我可以使用

让它工作
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

1 个答案:

答案 0 :(得分:27)

好的,我知道,我使用的是isinstance():

if queryset.model is Library :
    # do something.