Django: как проверить тип RelatedManager?

Как проверить тип RelatedManager в Django?

assert type(qs) in [models.QuerySet, models.Manager]

не работает, если qs является RelatedManager

Как проверить, что qs является RelatedManager ?

Вы можете проверить тип связанного объекта менеджера, введя type(some_related_manager_object) в оболочке. Это возвращает <class 'django.db.models.manager.Manager'>.

Чтобы проверить, есть ли в наборе запросов объект менеджера, связанный с типом:

from django.db.models.manager import Manager

assert type(qs)==Manager

ok, нашел решение:

assert isinstance(qs, (models.QuerySet, models.Manager))
Вернуться на верх