有人可以向我解释为什么以下过滤器在月和日级别无法正常工作吗?按年过滤似乎有效,但不是其他两个.
>>> clicks.count()
36
>>> date = clicks[0].created
>>> date.month
2
>>> date.year
2014
>>> date.day
1
>>> clicks.filter(created__month=2)
[]
>>> clicks.filter(created__month=02)
[]
>>> clicks.filter(created__month='02')
[]
>>> clicks.filter(created__month='2')
[]
>>> clicks.filter(created__month=date.month)
[]
>>> clicks.filter(created__day=date.day)
[]
Run Code Online (Sandbox Code Playgroud)
一个快速更新,以证明我在创建和处理查询集之前获得了相同的行为:
>>> clicks = PreviewClick.objects.filter(created__month = 2)
>>> clicks.count()
0
>>> clicks = PreviewClick.objects.filter(created__month = 02)
>>> clicks.count()
0
>>> clicks = PreviewClick.objects.filter(created__month = '02')
>>> clicks.count()
0
>>> clicks = PreviewClick.objects.filter(created__month = '2')
>>> clicks.count()
0
Run Code Online (Sandbox Code Playgroud)
这里有更多值得深思的东西:
>>> clicks = PreviewClick.objects.all()
>>> counter = …Run Code Online (Sandbox Code Playgroud)