django如何使用kwargs内部的范围



我试图在两个日期之间筛选查询集,但我似乎不明白为什么这不起作用。

这是我的代码

kwargs = {
'{0}__{1}'.format(arg1, 'exact'): arg2,
'{0}__{1}'.format('deleted', 'isnull'): True,
'{0}__{1}'.format('event_date', 'range'): {date1, date2}
}
table = GeTable(Ge.objects.filter(**kwargs))

我希望能够将我的查询集筛选为仅在日期1和日期2之间的记录。有人能给我指正确的方向吗?

您传递一个2元组,因此:

kwargs = {
'{0}__{1}'.format(arg1, 'exact'): arg2,
'{0}__{1}'.format('deleted', 'isnull'): True,
'{0}__{1}'.format('event_date', 'range'):(date1, date2)
}
table = GeTable(Ge.objects.filter(**kwargs))

通过使用集合,不同运行之间的顺序可能会有所不同,因此有时它会起作用,有时则不会(大约50%(。这是因为随机哈希算法,出于安全原因,该算法被用作保护措施。

最新更新