我有一個Django應用程序,其中有一些項目。每個項目可以有多個預算,並且每次向項目添加新預算時,該項目的現有預算都應該將其version_number
加1。 「當前的預算應該是其version_number
爲0〜所以其他地方的代碼試圖「獲得」當前預算使用的時候,我做的事情,如預算:Python-我如何從對象列表中獲取日期字段具有最新值的對象?
budgetInstance = Budget.objects.get(project = project, version_number = 0)
然而,似乎不知何故,其中一些項目以budgets
結束,其version_number
爲0,所以看起來數據庫中的一些項目似乎有幾個「當前預算」...
我知道我需要以修復版本的完成邏輯,以便沒有兩個budgets
可以有相同的version_number
,但現在,我只想獲得最新的budget
爲數據庫中的每個項目。
每個Budget
對象具有的屬性,如:project_id
,version_number
,id
,presentation_date
等
所以我現在要過濾的時候我過濾通過version_number = 0)
通過presentation_date
領域已返回budgets
。據我瞭解,我會做到這一點使用min()
,但我似乎無法得到這個工作...
我想在下面的接受的答案:Find oldest/youngest datetime object in a list,跑在shell下:
mostRecentBudget = min(date for date in budgets.dates if date < now)
但我有一個TypeError
,其中說:
TypeError: 'instancemethod' object is not iterable
這是爲什麼?如何在給定的Project
中搜索Budgets
的列表,查找具有最新presentation_date
字段值的列表?
您將需要提供更多信息。這裏的預算和預算是什麼?爲什麼你不能使用數據庫來訂購這個查詢? –