Django:如何测试 RelatedManager 的类型?

Django: how to test type of RelatedManager?

如何在 Django 中测试 RelatedManager 的类型?

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

如果 qs 是 RelatedManager

则失败

如何测试 qs 是否为 RelatedManager

您可以通过在 shell 中输入 type(some_related_manager_object) 来检查相关管理器对象的类型。这个returns<class 'django.db.models.manager.Manager'>.

检查查询集是否具有类型相关的管理器对象:

from django.db.models.manager import Manager

assert type(qs)==Manager

好的,找到解决方案:

assert isinstance(qs, (models.QuerySet, models.Manager))