it-swarm.com.de

Django DoesNotExist

Ich habe Probleme beim Versuch, "DoesNotExist-Fehler" zu ermitteln. Ich habe versucht, den richtigen Weg zu finden, um die Ergebnisse ohne Antwort zu verwalten. Ich habe jedoch weiterhin Probleme mit "DoesNotExist" oder "Object hast not Attribute DoestNotExists".

from Django.http import HttpResponse
from Django.contrib.sites.models import Site
from Django.utils import simplejson

from vehicles.models import *
from gpstracking.models import *


def request_statuses(request):

    data = []
    vehicles = Vehicle.objects.filter()
    Vehicle.vehicledevice_
    for vehicle in vehicles:
        try:
            vehicledevice = vehicle.vehicledevice_set.get(is_joined__exact = True)
            imei = vehicledevice.device.imei
            try:
                lastposition = vehicledevice.device.devicetrack_set.latest('date_time_process')
                altitude = lastposition.altitude
                latitude = lastposition.latitude
                longitude =  lastposition.longitude
                date_time_process = lastposition.date_time_process.strftime("%Y-%m-%d %H:%M:%S"),
                date_time_created = lastposition.created.strftime("%Y-%m-%d %H:%M:%S")
            except Vehicle.vehicledevice.device.DoesNotExist:
                lastposition = None
                altitude = None
                latitude = None
                longitude = None
                date_time_process = None
                date_time_created = None
        except Vehicle.DoesNotExist:
            vehicledevice = None
            imei = ''

        item = [
                vehicle.vehicle_type.name,
                imei,
                altitude,
                "Lat %s Lng %s" % (latitude, longitude),
                date_time_process,
                date_time_created,
                '', 
                ''
                ]
        data.append(item)
    statuses = {
                "sEcho": 1,
                "iTotalRecords": vehicles.count(),
                "iTotalDisplayRecords": vehicles.count(),
                "aaData": data
                } 
    json = simplejson.dumps(statuses)
    return HttpResponse(json, mimetype='application/json')
68
Carlos

Auf diese Weise habe ich mithilfe von ObjectDoesNotExist eine Lösung für dieses Problem gefunden

from Django.core.exceptions import ObjectDoesNotExist
......

try:
  # try something
except ObjectDoesNotExist:
  # do something

Danach funktioniert mein Code wie ich brauche

Vielen Dank, Ihr Beitrag hilft mir, mein Problem zu lösen

86
Carlos

Diese Linie

 except Vehicle.vehicledevice.device.DoesNotExist

bedeutet, nach device instance für die DoesNotExist-Ausnahme zu suchen, aber es gibt keine, da es sich auf Klassenebene befindet und Sie so etwas möchten

 except Device.DoesNotExist
114