Size: a a a

Django [ru] #STAY HOME

2019 December 20

АФ

Александр Филатов in Django [ru] #STAY HOME
🔐{% ɹoƃǝʎ %}
И зачем тебе еще else когда в эксепте тоже самое делается?
Если парамс list_id не прийдет
источник

🔐

🔐{% ɹoƃǝʎ %} in Django [ru] #STAY HOME
Александр Филатов
Если парамс list_id не прийдет
А, там индентацию не увидел
источник

🔐

🔐{% ɹoƃǝʎ %} in Django [ru] #STAY HOME
Александр Филатов
Если парамс list_id не прийдет
Это копипаста, можно кверисет с all() выше объявлять чем иф а потом просто переопределять его
источник

АФ

Александр Филатов in Django [ru] #STAY HOME
Можно, но оптимизировать лучше когда заработает)
источник

АФ

Александр Филатов in Django [ru] #STAY HOME
Кстати:
            list_id = request.GET.get('list')
           if list_id:
               try:
                   print(1 / 0)
                   queryset = Status.objects.all()
                   # queryset = Status.objects.filter(organization__lists_assoc__list__id=list_id).distinct()
               except ValidationError:
                   queryset = Status.objects.all()
           else:
               queryset = Status.objects.all()
источник

АФ

Александр Филатов in Django [ru] #STAY HOME
источник

A

Andrey in Django [ru] #STAY HOME
код работает так, как от него ожидали
источник

🔐

🔐{% ɹoƃǝʎ %} in Django [ru] #STAY HOME
Александр Филатов
Кстати:
            list_id = request.GET.get('list')
           if list_id:
               try:
                   print(1 / 0)
                   queryset = Status.objects.all()
                   # queryset = Status.objects.filter(organization__lists_assoc__list__id=list_id).distinct()
               except ValidationError:
                   queryset = Status.objects.all()
           else:
               queryset = Status.objects.all()
Ну все норм, ты это там не чекаешь
источник

V💊

Vladimir 💊 Voytenko in Django [ru] #STAY HOME
какая неожиданность
источник

🔐

🔐{% ɹoƃǝʎ %} in Django [ru] #STAY HOME
Александр Филатов
Можно, но оптимизировать лучше когда заработает)
Это не оптимизация
источник

АФ

Александр Филатов in Django [ru] #STAY HOME
🔐{% ɹoƃǝʎ %}
Ну все норм, ты это там не чекаешь
А где нужно?
источник

🔐

🔐{% ɹoƃǝʎ %} in Django [ru] #STAY HOME
Нигде, зачем тебе там делить на 0 кроме как для отладки?
источник

🔐

🔐{% ɹoƃǝʎ %} in Django [ru] #STAY HOME
Александр Филатов
Добрый день!
Мне нужно вернуть только те статусы организаций, которые присутствуют в списке. В парамс запроса может прийти uuid списка, я получаю queryset подходящих статусов:
list_id = request.GET.get('list')
   if list_id:
       try:
           queryset = Status.objects.filter(organization__lists_assoc__list__id=list_id).distinct()
       except:
           queryset = Status.objects.all()
    else:
            queryset = Status.objects.all()

По задумке, если uuid валидный, то возвращаем только нужные статусы, если его нет, или он некорректный - возвращаем все статусы. Однако, я получаю ошибку is not a valid UUID, хотя я оборачиваю это место в try..except. Почему так?
Ты кинкшь трейс и полную вьюху? Я, к сожалению не умею гадать, а все экстрассенсы в отпуске
источник

АФ

Александр Филатов in Django [ru] #STAY HOME
['ValidationError: ["\'5dfd316f-3477-4615-8264-66186a663e0fdd\' is not a valid UUID."]', '  File "django/core/handlers/exception.py", line 34, in inner', '  File "django/core/handlers/base.py", line 115, in _get_response', '  File "django/core/handlers/base.py", line 113, in _get_response', '  File "python3.7/contextlib.py", line 74, in inner', '  File "django/views/decorators/csrf.py", line 54, in wrapped_view', '  File "rest_framework/viewsets.py", line 114, in view', '  File "rest_framework/views.py", line 505, in dispatch', '  File "rest_framework/views.py", line 465, in handle_exception', '  File "rest_framework/views.py", line 476, in raise_uncaught_exception', '  File "rest_framework/views.py", line 502, in dispatch', '  File "organization/views.py", line 154, in list', '  File "django/db/models/query.py", line 274, in __iter__', '  File "django/db/models/query.py", line 1242, in _fetch_all', '  File "django/db/models/query.py", line 55, in __iter__', '  File "django/db/models/sql/compiler.py", line 1120, in execute_sql', '  File "django/db/models/sql/compiler.py", line 489, in as_sql', '  File "django/db/models/sql/compiler.py", line 405, in compile', '  File "django/db/models/sql/where.py", line 81, in as_sql', '  File "django/db/models/sql/compiler.py", line 405, in compile', '  File "django/db/models/lookups.py", line 163, in as_sql', '  File "django/db/models/lookups.py", line 260, in process_rhs', '  File "django/db/models/lookups.py", line 95, in process_rhs', '  File "django/db/models/lookups.py", line 187, in get_db_prep_lookup', '  File "django/db/models/fields/__init__.py", line 2333, in get_db_prep_value', '  File "django/db/models/fields/__init__.py", line 2348, in to_python']


Вопрос скорее в том, почему я оборачиваю ошибку в try..except,  а она все же пробрасывается выше?
источник

A

Andrey in Django [ru] #STAY HOME
потому что не ту ошибку ловишь
источник

P

Pooh in Django [ru] #STAY HOME
Александр Филатов
['ValidationError: ["\'5dfd316f-3477-4615-8264-66186a663e0fdd\' is not a valid UUID."]', '  File "django/core/handlers/exception.py", line 34, in inner', '  File "django/core/handlers/base.py", line 115, in _get_response', '  File "django/core/handlers/base.py", line 113, in _get_response', '  File "python3.7/contextlib.py", line 74, in inner', '  File "django/views/decorators/csrf.py", line 54, in wrapped_view', '  File "rest_framework/viewsets.py", line 114, in view', '  File "rest_framework/views.py", line 505, in dispatch', '  File "rest_framework/views.py", line 465, in handle_exception', '  File "rest_framework/views.py", line 476, in raise_uncaught_exception', '  File "rest_framework/views.py", line 502, in dispatch', '  File "organization/views.py", line 154, in list', '  File "django/db/models/query.py", line 274, in __iter__', '  File "django/db/models/query.py", line 1242, in _fetch_all', '  File "django/db/models/query.py", line 55, in __iter__', '  File "django/db/models/sql/compiler.py", line 1120, in execute_sql', '  File "django/db/models/sql/compiler.py", line 489, in as_sql', '  File "django/db/models/sql/compiler.py", line 405, in compile', '  File "django/db/models/sql/where.py", line 81, in as_sql', '  File "django/db/models/sql/compiler.py", line 405, in compile', '  File "django/db/models/lookups.py", line 163, in as_sql', '  File "django/db/models/lookups.py", line 260, in process_rhs', '  File "django/db/models/lookups.py", line 95, in process_rhs', '  File "django/db/models/lookups.py", line 187, in get_db_prep_lookup', '  File "django/db/models/fields/__init__.py", line 2333, in get_db_prep_value', '  File "django/db/models/fields/__init__.py", line 2348, in to_python']


Вопрос скорее в том, почему я оборачиваю ошибку в try..except,  а она все же пробрасывается выше?
dpaste.de в следующий раз, ок?
источник

АФ

Александр Филатов in Django [ru] #STAY HOME
Andrey
потому что не ту ошибку ловишь
Я пробовал ловить все ошибки
источник

A

Andrey in Django [ru] #STAY HOME
код плиз
источник

🔐

🔐{% ɹoƃǝʎ %} in Django [ru] #STAY HOME
Александр Филатов
['ValidationError: ["\'5dfd316f-3477-4615-8264-66186a663e0fdd\' is not a valid UUID."]', '  File "django/core/handlers/exception.py", line 34, in inner', '  File "django/core/handlers/base.py", line 115, in _get_response', '  File "django/core/handlers/base.py", line 113, in _get_response', '  File "python3.7/contextlib.py", line 74, in inner', '  File "django/views/decorators/csrf.py", line 54, in wrapped_view', '  File "rest_framework/viewsets.py", line 114, in view', '  File "rest_framework/views.py", line 505, in dispatch', '  File "rest_framework/views.py", line 465, in handle_exception', '  File "rest_framework/views.py", line 476, in raise_uncaught_exception', '  File "rest_framework/views.py", line 502, in dispatch', '  File "organization/views.py", line 154, in list', '  File "django/db/models/query.py", line 274, in __iter__', '  File "django/db/models/query.py", line 1242, in _fetch_all', '  File "django/db/models/query.py", line 55, in __iter__', '  File "django/db/models/sql/compiler.py", line 1120, in execute_sql', '  File "django/db/models/sql/compiler.py", line 489, in as_sql', '  File "django/db/models/sql/compiler.py", line 405, in compile', '  File "django/db/models/sql/where.py", line 81, in as_sql', '  File "django/db/models/sql/compiler.py", line 405, in compile', '  File "django/db/models/lookups.py", line 163, in as_sql', '  File "django/db/models/lookups.py", line 260, in process_rhs', '  File "django/db/models/lookups.py", line 95, in process_rhs', '  File "django/db/models/lookups.py", line 187, in get_db_prep_lookup', '  File "django/db/models/fields/__init__.py", line 2333, in get_db_prep_value', '  File "django/db/models/fields/__init__.py", line 2348, in to_python']


Вопрос скорее в том, почему я оборачиваю ошибку в try..except,  а она все же пробрасывается выше?
Крч ты вместо uuid кидаешь стринг
источник

🔐

🔐{% ɹoƃǝʎ %} in Django [ru] #STAY HOME
а кверисет ждет объект uuid
источник