2012-07-03 14 views
8

que estoy tratando de hacer esto:RelatedManager importación de django.db.models.fields.related

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

porque quiero ser capaz de probar si un objeto es un gerente es decir relacionada:

isinstance(obj, RelatedManager) 

sin embargo me siguen dando este error: error: no se puede importar el nombre RelatedManager

Respuesta

7

Las clases de dirigentes afines se crean en tiempo de ejecución dentro de las funciones del generador en django.db.models.fields. relacionado así que no puedes importarlos directamente. Si desea verificar si un objeto es un administrador relacionado para una relación específica, puede usar isinstance(obj, MyModel.my_relation.__class__). También puede usar hasattr para determinar si el objeto tiene las propiedades que necesita (ducktyping) y evitar usar isinstance por completo.

+0

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