Я кодер: могу закодить, а могу и закосячить!
Местоположение
Казахстан, Акмолинская обл. (Целиноградская обл.), Астана

Наибольший вклад в теги

Все теги (9)

Лучшие ответы пользователя

Все ответы (9)
  • Какие есть бесплатные сервисы для хранения данных?

    @pro100Code
    TechnoCraft Designer Developer
    Есть несколько классных сервисов для хранения данных с доступом через API. Например, попробуй Firestore от Google — там можно хранить данные в формате JSON, доступ к ним удобный через REST API. Плюс у них есть бесплатный тариф для небольших проектов. Еще вариант — Airtable, у него удобный интерфейс и тоже API для интеграции. Оба этих сервиса дают возможность долгосрочного хранения данных, а не временного, как jsonbin.io.
    Ответ написан
    2 комментария
  • Избавиться от дублей или проверить наличие таблицы в базе?

    @pro100Code
    TechnoCraft Designer Developer
    Добрый день! Проблема с миграциями и запросами действительно может возникнуть, если таблицы ещё не существуют, а запросы к ним уже происходят.
    Прямую проверку существования таблицы можно выполнить через метод django.db.connection.introspection.table_names(), который возвращает список всех таблиц базы данных. Это позволит вам избежать излишней ручной работы с соединениями и подключениями.
    from django.db import connection
    
    def options_general_exists():
        tables = connection.introspection.table_names()
        if 'yourapp_general' in tables:
            return General.objects.filter(id='-1').first()
        return None
    
    data = {
        'menu': Menu,
        'options_general': options_general_exists(),
    }


    Лучший вариант — использовать introspection API от Django для проверки существования таблиц, так как это встроенный и безопасный способ для работы с базой данных без необходимости явно подключаться к ней через Python.
    Ответ написан
    1 комментарий
  • Как правильно присваивать типы результатам выполнения функций которые вернули ошибку?

    @pro100Code
    TechnoCraft Designer Developer
    В такой ситуации, когда ты не можешь менять исходную функцию, но хочешь обрабатывать ошибки, можно сделать дополнительный слой обработки в месте, где вызывается функция. Ты можешь использовать try-catch, чтобы перехватывать исключения и обрабатывать их как ValidationError. Вот пример:

    try {
      const response = await usersPassportLogin(usersPassportLoginBody, options);
      // Успешный ответ обрабатывай как обычно
      console.log('Login successful:', response);
    } catch (error) {
      // Здесь мы проверим, является ли ошибка ValidationError
      if ((error as ValidationError).errors) {
        const validationError = error as ValidationError;
        console.log('Validation Error:', validationError.errors);
      } else {
        console.log('Unexpected Error:', error);
      }
    }
    Ответ написан
    Комментировать