2016-10-03 58 views
-1

我已经创建了一个模型'VehicleDetails',其中用户可以填写车辆的细节和另一个模型'TripStatus',他可以在其中更新车辆位置。我想要得到我在下面的代码中所做的最新位置。但是当我运行服务器时,它将返回所有值而不是最新值。我希望能帮助我解决这个问题或提出一种新的方法。Django/Python:如何从模型查询集中获取最新值?

models.py:

class VehicleDetails(models.Model): 
    Vehicle_No = models.CharField(max_length=20) 

class TripStatus(models.Model): 
    vehicledetails = models.ForeignKey(VehicleDetails, related_name='tripstatuss') 
    CHOICES = (('Yet to start', 'Yet to start'),('Trip starts', 'Trip starts'), ('Chennai','Chennai'), ('Vizag', 'Vizag'), ('Kolkata', 'Kolkata')) 
    Vehicle_Status = models.CharField(choices=CHOICES, default="Yet to start", max_length=20) 
    statustime = models.DateTimeField(auto_now=False, auto_now_add=True) 

观点:

def status(request): 
    tripstatus = TripStatus.objects.all().latest('statustime') 
    context = { 
    "tripstatus": tripstatus, 
} 
    return render(request, 'loggedin_load/active_deals.html', context) 

模板:

{% for status in vehicledetails.tripstatuss.all %} 
{{status.Vehicle_Status}} 
{% endfor %} 
+0

有迹象表明,没有问题提出一些代码的重要部分。你将'tripstatus''传递给模板,但是在模板循环中,你没有通过'vehicledetails.statuses'。 –

回答

0

应该只是必须删除。所有():

tripstatus = TripStatus.objects.latest('statustime') 

或许:

tripstatus = TripStatus.order_by('-statustime').first() 
+0

它仍然返回所有值。 – sumanth

+0

是否使用order_by版本更改? –

+0

同样的结果。即使我使用聚合(Max('statustime'))。一切都会显示所有值,而不是最新的值。 – sumanth

相关问题