it-roy-ru.com

Django DoesNotExist

У меня возникли проблемы при попытке выяснить "Ошибки IsNotExist", я пытался найти правильный способ управления результатами без ответа, однако у меня продолжают возникать проблемы с "DoesNotExist" или "Объект не имеет атрибута 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')
64
Carlos

Я нашел решение этой проблемы, используя ObjectDoesNotExist на этом пути

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

try:
  # try something
except ObjectDoesNotExist:
  # do something

После этого мой код работает как мне нужно

Спасибо, в любом случае, ваш пост поможет мне решить мою проблему

80
Carlos

Эта линия

 except Vehicle.vehicledevice.device.DoesNotExist

означает искать устройство экземпляр для исключения DoesNotExist, но его нет, потому что оно на уровне класса, вы хотите что-то вроде

 except Device.DoesNotExist
110
Dmitry Shevchenko