2013-05-29 3 views
15

私は異なるモデルに基づいてクエリセットで使用したいDjangoアクション関数を持っています。Djangoクエリセットのモデルタイプをチェックする最良の方法

私のクエリーセットで構成されているモデルタイプを確認する最良の方法は何ですか?私はそれが

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

を使用して動作するように取得することができ、私は現時点では私のmodels.py

で定義されているライブラリのクラスをチェックしてみたいと思います。しかし、私はこれを行うには良い方法があると確信しています。

私は何とか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

[OK]を、私は私が使用し、参照の代わりに()でisinstanceは次のとおりです。

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

このチェックが失敗した場合に発生する例外はありますか? – RaffAl

関連する問題