【发布时间】:2011-07-30 17:09:51
【问题描述】:
我似乎在数数时遇到了问题。我有一个列表项,其中每个项都可以存储许多状态,尽管我只对它的最新状态感兴趣。现在看看我的看法。
storage_items = StorageItem.objects\
.filter(client=client_id,itemstatushistory__isnull=False)\
.distinct()
total_items_in_stock = [item for item in storage_items \
if item.itemstatushistory_set.latest().status.description \
not in ['Destroyed','Permanent Retrieval']]
total_items_in_stock 显示所有没有最新状态的项目,称为Destroyed 和Permanent Retrieval。然而,这有一个问题。
假设我的数据库中有一些项目 - 比如说 item1 {in, out, destroy}, item2 = {destroyed, in}, item3 = {permanent retrieve}, item4 = {}。因为它寻找最新的状态,所以它会打印 {item2}。我现在想在库存中的总项目中打印 item4。基本上 item4 是没有状态的项目。但由于它不是Destroyed 或Permanent 检索,因此需要将其包含在列表中。但我似乎找不到解决办法。我希望我已经把一切都说清楚了。
模板
{{total_items_in_stock|length}}
【问题讨论】: