【问题标题】:Django filters, got an unexpected keyword argumentDjango 过滤器,得到一个意外的关键字参数
【发布时间】:2016-01-20 13:50:59
【问题描述】:

我正在使用:http://django-filter.readthedocs.org/en/latest/usage.html 我对这段代码有疑问:

class BasicFilter(django_filters.FilterSet):
    class Meta:
        model = MyModel
        fields = []

class SiteFilter(BasicFilter):
    site = django_filters.ModelMultipleChoiceFilter(
        queryset=Site.objects.all(), help_text=''
    )
    def __init__(self, *args, **kwargs):
        print kwargs
        super(BrowserFilter, self).__init__(*args, **kwargs)
    class Meta(ReportFilter.Meta):
        fields = ['site']

当我使用这个时:

site_filter = SiteFilter(user='test')

我有:

init() 得到了一个意外的关键字参数“用户”

【问题讨论】:

  • 你确定要打电话给super(BrowserFilter, self).__init__(*args, **kwargs)吗?我想应该是super(SiteFilter, self).__init__(*args, **kwargs)

标签: python django filter


【解决方案1】:

我同意@Ernest 十的观点。看起来你需要尝试的第一件事就是改变

super(BrowserFilter, self).__init__(*args, **kwargs)

super(SiteFilter, self).__init__(*args, **kwargs)

【讨论】:

  • 对不起,这是我复制时的错误。我有: super(SiteFilter, self).__init__(*args, **kwargs)
  • @Jeremiasz1 和 print kwargs 打印什么?
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2018-05-02
  • 2020-08-18
  • 2019-02-03
  • 2021-12-07
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多