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

だけ.ALL()を削除しておく必要があります。

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

または

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

それでもすべての値が返されます。 – sumanth

+0

order_byバージョンの変更を使用していますか? –

+0

同じ結果です。私も集計を使用しています(Max( 'statustime'))。すべてが最新のものではなくすべての値を表示します。 – sumanth

関連する問題