2012-07-03 20 views
8

Bunu yapmaya çalışıyorum:ithalat RelatedManager

from django.db.models.fields.related import RelatedManager 

Ben bir nesne ilişkili bir yönetici yani olup olmadığını test etmek isterler çünkü:

hata:
isinstance(obj, RelatedManager) 

ancak bu hatayı almaya devam ad RelatedManager

cevap

7

ilgili müdür sınıfları django.db.models.fields jeneratör işlevleri içinde çalışma zamanında oluşturulan alamıyor. bu nedenle doğrudan bunları içe aktaramazsınız. Bir nesnenin belirli bir ilişki için ilgili bir yönetici olup olmadığını kontrol etmek isterseniz, isinstance(obj, MyModel.my_relation.__class__)'u kullanabilirsiniz. Nesnenin gereksinim duyduğunuz özelliklere sahip olup olmadığını belirlemek için hasattr numaralı telefonu kullanabilir ve isinstance'ı tamamen kullanmaktan kaçınabilirsiniz.

+0

isinstance (obj, MyModel.reversename_set.related_manager_cls) – mrvol