【问题标题】:Django: how to test type of RelatedManager?Django:如何测试 RelatedManager 的类型?
【发布时间】:2021-12-14 10:39:07
【问题描述】:

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

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

如果 qs 是 RelatedManager 则失败

如何测试 qs 是否为RelatedManager

【问题讨论】:

    标签: django django-managers


    【解决方案1】:

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

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

    from django.db.models.manager import Manager
    
    assert type(qs)==Manager
    

    【讨论】:

      【解决方案2】:

      好的,找到了解决办法:

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

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2012-08-12
        • 1970-01-01
        • 2010-11-09
        • 1970-01-01
        • 1970-01-01
        • 2023-03-10
        • 1970-01-01
        • 2021-12-18
        相关资源
        最近更新 更多