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))