【问题标题】:Change django admin.simplelistfilter value for querying during testing在测试期间更改 django admin.simplelistfilter 值以进行查询
【发布时间】:2021-10-21 02:30:54
【问题描述】:

我有一个继承自 simplelistfilter 的 django 管理过滤器。我正在尝试以编程方式更改 self.value() 的值以进行测试,但无法弄清楚。将不胜感激。

此处的代码(注意 TODO):https://github.com/makinacorpus/django-safedelete/pull/175/files

项目的维护者试图帮助我,但根据他的回答我无法弄清楚:https://github.com/makinacorpus/django-safedelete/pull/175

【问题讨论】:

    标签: python testing django-admin-filters


    【解决方案1】:

    解决如下:

    request = self.request_factory.get('/', {<field>: <value>})
    request.user = self.request.user
    changelist = self.modeladmin.get_changelist_instance(request)
    queryset = changelist.get_queryset(request)
    

    其中 是您要过滤的字段, 是管理员过滤器查找中所需的值。

    查询集将仅包含过滤后的对象。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2019-05-31
      • 2016-02-02
      • 2020-03-16
      • 1970-01-01
      相关资源
      最近更新 更多