我正在为项目使用django。我有一个模型(表),其中通过运行进程来填充数据。每个过程都有三个步骤,所以所有七个步骤都是表中的七行。下面是示例表:
RunId Process ID
403 step1 1
403 step2 2
403 step3 3
404 step1 4
404 step2 5
404 step3 7
每个进程都有一个RunId
,这对于每个进程都是唯一的。在前端,我有一张表,该表显示当前正在运行的流程以及该流程所在的当前步骤。
要获得当前步骤,我使用了以下django代码:
RunIds = [403,404]
model.objects.filter(RunId__in = RunIds).latest()
给出每个进程的最后一行(即上表中的第3步)。但是当我想查看对象的值时,我运行了以下命令:
model.objects.filter(RunId__in = RunIds).latest().values()
Django显示了一个错误,指出values()不是model
的属性,因为.latest()
没有提供queryset。问题是,我无法将该对象中的数据转换为字典,因此我可以使用dict.update()
将其他值和字典更新为字典。
答案 0 :(得分:6)
.latest()
返回实际对象,而不是queryset。
因此,您尝试在模型对象上调用它没有的值。
交换订单:
model.objects.filter(RunId__in = RunIds).values().latest()