[英]Is there a more succinct for this date checking?
Every invoice may have several items and the invoice due date is the date of the earliest due item. 每个发票可能有多个项目,发票到期日是最早到期的日期。 Here's what I have but I wonder if there may be a shorter version:
这是我所拥有的,但是我想知道是否可能有一个较短的版本:
due_date = None
for item in i.item_set.all():
if due_date is None:
due_date = item.due_date
else:
if due_date > item.due_date:
due_date = item.due_date
Have you tried min
? 您尝试过
min
吗?
due_date = min((item.due_date for item in i.item_set.all()))
Or, another option: 或者,另一个选择:
from operator import attrgetter
due_date = min(i.item_set.all(), key=attrgetter("due_date")).due_date
Hope that helps. 希望能有所帮助。
由于您使用的是Django,因此可以这样操作:
invoice_date = i.item_set.order_by('due_date')[0].due_date
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.