好吧,我的問題是有點如下:Django的查詢:「日期時間+增量」作爲表達
假設我有一個模型,這是一個簡單的例子:
class Period(models.Model):
name = CharField(... field specs here ...)
start_date = DateTimeField(... field specs here ...)
duration = ... don't know what field should i use but this has to hold a delta ...
我會喜歡檢索對象,其中(start_date + duration)<現在在Django查詢(我知道我可以,在Python中,測試像my_date_time + a_time_delta < datetime.now(),但事實並非如此...我需要它作爲查詢的一部分)。
我該如何得到它?
謝謝你,幫助我。這真的是noob問題,我做了xDDD。 但是...如果我需要比較另一個領域呢? 例如 .filter(start_date__lte = F('another_datetime_field') - timedelta(...))是否允許? **編輯**:我很抱歉,但我需要從模型中獲得持續時間。這意味着:duration和start_date都是特定於實例的。 –
我不認爲有一種方法可以通過ORM在單個查詢中執行此操作。我認爲你的選擇是要麼接受使用兩個查詢,要麼使用'extra'子句將適合數據庫的日期算術放回到約束中。 –
是的...我會嘗試「.extra(where = ...)」我昨天想到 –