【问题标题】:Use filter on field name with single underscore对带有单个下划线的字段名称使用过滤器
【发布时间】:2013-06-20 13:21:02
【问题描述】:

我有一个名为 end_date 的字段,当我尝试在我的视图中使用过滤器时:

c = Coursera.objects.filter(end_date__lt = datetime.date.today()).order_by('-date')[:1].get()

我收到以下错误:

无法将关键字“日期”解析为字段。选择是:...

end_ 被完全忽略;因此,我假设end 可能是一个关键字;显然,我可以将字段名称更改为其他名称;但是,我的问题是:还有其他方法可以仍然使用该字段名称并能够使用过滤器吗?

附:我以为ltgt等关键字只能在两个下划线之后使用!

【问题讨论】:

    标签: django django-views django-models django-filter


    【解决方案1】:

    我不认为end_ 是关键字,错误可能是因为order_by('-date')。似乎您的模型中没有字段date,但您正尝试按日期字段获取结果顺序。

    【讨论】:

      【解决方案2】:
      import re
      if not re.match(r'^[_]+$', username):
          raise forms.ValidationError("Sorry , you can only have  _  in username")
      

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2021-12-29
        • 1970-01-01
        • 2020-08-18
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多