繁体   English   中英

python / django:模型对象没有属性'prefetch_related'

[英]python/django: model object has no attribute 'prefetch_related'

我创建了一个模型“ VehicleDetails”,用户可以在其中填写车辆的详细信息,还创建了另一个模型“ TripStatus”,在其中他可以更新车辆的位置。 我想获得我在以下代码中所做的最新位置。 我在视图中使用prefetch_related返回特定车辆的位置值。 但是,在运行服务器后,它将引发错误:“ TripStatus对象没有属性'prefetch_related'”。 我很乐意帮助我解决这个问题。 models.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在queryset对象上工作。 最新返回单个模型而不是查询集。

这应该工作:

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

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM