gpt4 book ai didi

python /django : model object has no attribute 'prefetch_related'

转载 作者:行者123 更新时间:2023-11-28 22:33:31 34 4
gpt4 key购买 nike

我创建了一个模型“VehicleDetails”,用户可以在其中填写车辆的详细信息,还创建了另一个模型“TripStatus”,用户可以在其中更新车辆位置。我想获取我在下面的代码中所做的最新位置。我在我的 View 中使用 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)

views.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)

模板:

{% for status in vehicledetails.statuses.all %}
{{status.Vehicle_Status}}
{% endfor %}

最佳答案

prefetch_related 在查询集对象上工作。 Latest 返回单个模型而不是查询集。

这应该有效:

tripstatus = TripStatus.objects.all().prefetch_related('statuses').latest('statustime')

关于 python /django : model object has no attribute 'prefetch_related' ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39818121/

34 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com