sum*_*nth 3 python django django-templates django-models django-views
我创建了一个模型“VehicleDetails”,用户可以在其中填写车辆的详细信息,并创建了另一个模型“TripStatus”,他可以在其中更新车辆位置。我想获得我在下面的代码中所做的最新位置。我在我看来使用 prefetch_related 来返回特定车辆的位置值。但是,在运行服务器后,它会引发错误:“TripStatus 对象没有属性 'prefetch_related'”。我将不胜感激帮助我解决这个问题。模型.py:
class VehicleDetails(models.Model):
Vehicle_No = models.CharField(max_length=20)
class TripStatus(models.Model):
vehicledetails = models.ForeignKey(VehicleDetails, related_name='statuses')
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)
Run Code Online (Sandbox Code Playgroud)
视图.py:
def status(request):
tripstatus = TripStatus.objects.all().latest('statustime').prefetch_related('statuses')
context = {
"tripstatus": tripstatus,
}
return render(request, 'loggedin_load/active_deals.html', context)
Run Code Online (Sandbox Code Playgroud)
模板:
{% for status in vehicledetails.statuses.all %}
{{status.Vehicle_Status}}
{% endfor %}
Run Code Online (Sandbox Code Playgroud)
prefetch_related 适用于查询集对象。最新返回单个模型而不是查询集。
这应该工作:
tripstatus = TripStatus.objects.all().prefetch_related('statuses').latest('statustime')
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
5307 次 |
| 最近记录: |