使用Django模型,是否有可用于选择某个日期后创建的所有记录的筛选器?我不确定应该使用什么语法或过滤器来获取比我的last_login更新的记录。获取自上次登录以来创建的所有Django记录
我不介意用Q高级查询来做,但越简单越好!
使用Django模型,是否有可用于选择某个日期后创建的所有记录的筛选器?我不确定应该使用什么语法或过滤器来获取比我的last_login更新的记录。获取自上次登录以来创建的所有Django记录
我不介意用Q高级查询来做,但越简单越好!
实际上,如果你想选择所有创建的记录,你不需要当前的日期时间在某个日期之后。只需使用一个类似lookup的过滤器:field_date__gte = last_login。这里没有必要使用范围。例如:
MyModel.objects.filter(my_model_date__gte=last_login)
你可以这样做:
首先,获取用户LAST_LOGIN:
last_login = user.last_login
那么,你想要这样您可以筛选数据:
Entry.objects.filter(pub_date__range=(last_login, datetime.datetime.now()))
希望它帮助。 ..
感谢您的回复!这个解决方案效果很好,但我接受了其他更简单实现的答案。 – 2012-03-02 10:47:06
另一个答案很简短,但不适合您的需要,如果您需要包含上次登录日期......我的意思是只查找具有比last_login更长的日期的条目......它不包含last_login作为部分的结果.. – pahko 2012-03-04 19:30:37
“gte”查找将选择大于或等于last_login值的值 – 2012-03-08 18:45:57
谢谢,这正是我所需要的。我不得不搜索一下,找到你使用的字段查找(我仍然是一个Django新手),并在这里找到文档以防万一需要它:https://docs.djangoproject.com/en/dev/ref/models/查询集/#GTE – 2012-03-02 10:45:49