【发布时间】:2021-12-14 10:39:07
【问题描述】:
如何在 Django 中测试 RelatedManager 的类型?
assert type(qs) in [models.QuerySet, models.Manager]
如果 qs 是 RelatedManager 则失败
如何测试 qs 是否为RelatedManager?
【问题讨论】:
如何在 Django 中测试 RelatedManager 的类型?
assert type(qs) in [models.QuerySet, models.Manager]
如果 qs 是 RelatedManager 则失败
如何测试 qs 是否为RelatedManager?
【问题讨论】:
您可以通过在 shell 中输入 type(some_related_manager_object) 来检查相关管理器对象的类型。这将返回 <class 'django.db.models.manager.Manager'>。
检查查询集是否具有类型相关的管理器对象:
from django.db.models.manager import Manager
assert type(qs)==Manager
【讨论】:
好的,找到了解决办法:
assert isinstance(qs, (models.QuerySet, models.Manager))
【讨论】: