使用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