0
사용자가 차량 세부 정보를 채울 수있는 'VehicleDetails'모델을 만들고 차량 위치를 업데이트하는 'TripStatus'모델을 만들었습니다. 나는 나의 아래 코드에서했던 것처럼 최신 위치를 얻고 싶었다. 내 뷰에서 prefetch_related를 사용하여 특정 차량의 위치 값을 반환합니다. 하지만 서버를 실행 한 후 오류가 발생합니다. "TripStatus 객체에 'prefetch_related'속성이 없습니다." 내가이 문제를 해결하도록 도와 주셔서 감사합니다. models.py :python/django : 모델 객체에 'prefetch_related'속성이 없습니다.
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)
템플릿 :
의 검색어 객체에서 작동 prefetch_related{% for status in vehicledetails.statuses.all %}
{{status.Vehicle_Status}}
{% endfor %}
을 이제 : TripStatus 개체의 '상태'를 찾을 수 없습니다 '상태가'에 대한 잘못된 매개 변수입니다 prefetch_related(). – sumanth
pefetch_related는 성능을 위해 외래 키 테이블을로드합니다. TripStatus 모델에 실제로 상태 외래 키가 없으므로 prefetch_related 호출을 제거하면됩니다. –