样品有时间放在冰箱里 到目前为止,随着时间的推移最终还是要去寻找和转动样品。
在这种情况下,下面的结果会以超时的最短时间出现。
amostras = Amostra.objects.order_by('data_fim')
但我不希望如此。 我希望他回到列表上的时间不多了,而且没有时间在列表中获得成功。
amostra4 - 13 / Jan / 2014 15:51:44 =>更少的时间
amostra5 - 13 / Jan / 2014 16:51:44 =>列表的其余部分按时间顺序
amostra6 - 13 / Jan / 2014 16:51:44 =>列表的其余部分按时间顺序
amostra3 - 13 / Jan / 2014 14:51:44 =>超时
amostra2 - 13 / Jan / 2014 14:51:44 =>超时
amostra1 - 13 / Jan / 2014 14:51:44 =>超时
答案 0 :(得分:0)
解决方法如下:
#postgresql
amostras = Amostra.objects.extra(select={'controle':'(case when data_fim < current_timestamp then 2 else 1 end)'},order_by=['controle','data_fim'])
#mysql
amostras = Amostra.objects.extra(select={'controle':'(case when data_fim < now() then 2 else 1 end)'},order_by=['controle','data_fim'])
#sqlite
amostras = Amostra.objects.extra(select={'controle':"(case when data_fim < datetime('now') then 2 else 1 end)"},order_by=['controle','data_fim'])