Django:如何测试RelatedManager的类型?

标签 django django-managers

如何测试Django中RelatedManager的类型?

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

关于Django:如何测试RelatedManager的类型?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/70347478/

相关文章:

django - select_related 与反向外键

Django models.Manager 无法访问模型

python - 哪个扩展性更好? ORM 的 distinct() 或 python set()

Django - 两种不同类型用户的信号

django - 如何在反向关系中使用自定义管理器?

django - 如何使用字段名称获取 ManyToMany Manager 对象

django - 基于 get_initial() 的 CBV CreateView 限制 ForeignKey

Django - 为什么在使用自定义后端登录时需要指定 user.backend?

python - 在 Django 表单上,我如何循环遍历每个字段的各个选项?

django - 使用自定义管理器用 django 创建对象的目的是什么?