23

さまざまなモデルに基づくクエリセットで使用したい 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
4

1 に答える 1

49

わかりました。isinstance() の代わりに is を使用します。

if queryset.model is Library :
    # do something. 
于 2013-05-29T10:32:15.457 に答える