2016-10-03 97 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

相關問題