自定义过滤器现场测试不起作用

时间:2016-07-19 02:52:30

标签: python django testing

我有filter field的下一个测试。

运行测试我有这个错误:

======================================================================
ERROR: test_related_field_ajax_list_filter (jet.tests.test_filters.FiltersTestCase)
----------------------------------------------------------------------
Traceback (most recent call last):
  File "/home/salahaddin/Proyectos/tiempoturco/lib/python3.5/site-packages/jet/tests/test_filters.py", line 42, in test_related_field_ajax_list_filter
    list_filter = RelatedFieldAjaxListFilter(field, request, lookup_params, model, model_admin, field_path)
  File "/home/salahaddin/Proyectos/tiempoturco/lib/python3.5/site-packages/django/contrib/admin/filters.py", line 176, in __init__
    self.empty_value_display = model_admin.get_empty_value_display()
TypeError: get_empty_value_display() missing 1 required positional argument: 'self'

======================================================================
ERROR: test_related_field_ajax_list_filter_with_initial (jet.tests.test_filters.FiltersTestCase)
----------------------------------------------------------------------
Traceback (most recent call last):
  File "/home/salahaddin/Proyectos/tiempoturco/lib/python3.5/site-packages/jet/tests/test_filters.py", line 55, in test_related_field_ajax_list_filter_with_initial
    list_filter = RelatedFieldAjaxListFilter(field, request, lookup_params, model, model_admin, field_path)
  File "/home/salahaddin/Proyectos/tiempoturco/lib/python3.5/site-packages/django/contrib/admin/filters.py", line 176, in __init__
    self.empty_value_display = model_admin.get_empty_value_display()
TypeError: get_empty_value_display() missing 1 required positional argument: 'self'

我无法理解问题所在,我调查挖掘过滤器并找到问题:django中的第176行。 admin filters

如何解决此问题,这是初始化model_admin参数的更好方法?进行此测试的正确方法是什么?

1 个答案:

答案 0 :(得分:0)

你的问题更高了,在第30行:

    model_admin = ModelAdmin

在这里,您没有实例化对象,只需创建对类本身的另一个引用。直接在类上调用方法将给出您看到的错误。

您需要调用该类来实例化它,并将任何必需的参数传递给它。