Aragaer
у тебя есть список SCHEMA_FIELDS и есть тайп хинтинг на них
Anonymous
да, но они плагины по сути, можно подсовывать в уже собранное приложение
ну в алхимии есть же возможность коннектиться к разным базам, в любом случае там разные урлы, имена юзера и пароли для подключения https://docs.sqlalchemy.org/en/13/core/engines.html#supported-databases вообще что-то очень сомнительное ты задумал :)
Tishka17
надо выкинуть список SCHEMA_FIELDS и сделать аннотации на поля
Aragaer
окай. По идее по имени функции можно получить список ее аргументов в виде строк
Tishka17
да у меня отвалилась проверка по классу
Tishka17
Ладно. Другой вопрос: https://github.com/Tishka17/dataclass_factory/issues/20 Насколько это нихрена не очевидное поведение и как сделать более очевидно?
Andrey
Добречка, ребят. Вопрос про БД. Наткнулся на следующий момент: Есть некий объект, допустим, Товар. Товар имеет название, дату создания. Товар может меняться по времени, например, изменится имя. Нужно за этим как-то следить. Было принято решение в пользу ревизий (было и было, что уж теперь). Итого. Модель. Товар: uuid, название, дата создания, ревизия. Получить последнюю ревизию не проблема - DISTINC ON uuid ... ORDER BY created_at DESC - как-то так. Но, в недрах разработки возникла идея: дополнительный bool аттрибут is_last - мол, при создании новой ревизии будет проставляться is_last = True, а у предыдущей is_last = False. Запрос, соответственно, трансформируется в WHERE is_last = True. Но, что-то подсказывает, что есть проблемы с нормализацией БД в таком подходе, но я их (уровни нормализации) раскурить до конца не могу. Подскажите, нормально ли это? Мне кажется нет, почему, не могу понять.
Tishka17
или в какой-нибудь PrettyTable
Egor
https://pastebin.com/0Mf6RJUP Насколько вообще корректно так писать?
Aragaer
посмотрел еще раз на dataclass <-> tuple. Возник вопрос, зачем там вообще слова first, second и прочая?
Aragaer
а, это названия полей в датаклассе
Aragaer
ммкай, то есть идея такая - name_mapping это некоторый аггрегатный тип (список, словарь, что-то еще). Когда мы по нему бежим, если нам попалась строка, совпадающая с именем поля датакласса, то мы заменяем на значение этого же поля.
Aragaer
если only_mapped истина, то на этом и останавливаемся. Иначе добавляем в конце все те поля, которые не были найдены в структуре
Aragaer
так?
Tishka17
угуу
Tishka17
просто сейчас уже логика на name_mapping есть.
Tishka17
ну ты помнишь я спрашивал про иерархию
Aragaer
да
Aragaer
а тут я так понимаю обратно
Tishka17
ну тут не обратно тут плоско
Tishka17
но чтобы не писать {"name": 0...}
Tishka17
https://pastebin.com/0Mf6RJUP Насколько вообще корректно так писать?
а зачем вообще? чем тебе словарь не угодил?
Tishka17
объект без четкой структуры не имеет смысла
Tishka17
для таких кейсов есть словари
Egor
Четкая структура, это что?
ARCH
ARCH
ARCH
ARCH
Помогите плисе
Andrey
Помогите плисе
Отступы неправильные
Danylo
Помогите плисе
Ошибка говорит что у тебя неправильный отступ в 19й строке
Tishka17
Четкая структура, это что?
это когда на этапе программирования ты знаешь состав полей
Anonymous
Все равно через дикт пойдут все лукапы, так что да лучше словарь
Anonymous
Не подскажите как можно вывести рандомное слово из строки?
Anonymous
random.choice(string.split())
Не, не работает
Anonymous
Но спасибо за подсказку
maxlunar
что не работает?
maxlunar
так работает все
Anonymous
заебись принт где?
maxlunar
ты в клоуна играешь видимо
Anonymous
ахаххахахахахаха сука, ебать я даун
Anonymous
спасибо большое @maxlunar
Kop
так и живем
maxlunar
*свечка_похуй*
Maxim
ахаххахахахахаха сука, ебать я даун
профессионализм есть величина,обратная промежутку времени между высказываниями "Что за хуйня?!" и "Ну я мудак!"
Denis
ну в алхимии есть же возможность коннектиться к разным базам, в любом случае там разные урлы, имена юзера и пароли для подключения https://docs.sqlalchemy.org/en/13/core/engines.html#supported-databases вообще что-то очень сомнительное ты задумал :)
Да не, все норм. Приложение не очень стандартное, говорю же Db Visualizer (ну почти, скорее BI Tool) пилим. Подключение к бд, глоссарий таблиц, выполнение запросов и построение графиков по запросам.
Anonymous
поскажите как сделать чтобы бот не отключался, если не может найти какое-то значение делаю бота погоды и если ввести не название города или допустить опечатку он выключается, хотелось бы чтобы он сказал что-то вроде "город не найден"?
Ruben
Господа, имеем джангу и моделки в джанге. Версия 2.2. Хочу делать slug'и формата classname-instancename для всех моделек. Это корректный метод? def save(self, *args, **kwargs): if not self.slug: self.slug = slugify(f'{self.__name__}-{self.name}') super().save(*args, **kwargs)
Anonymous
try: Except: ?
это можно исправить исключениями?
Anonymous
ибо тут нет конкретной ошибки
Anonymous
из перечня
Νικήτας
NotFoundError или я ошибаюсь?
Anonymous
пробовал, не работает, или я что-то не так сделал
Νικήτας
Попробуй может эксепт без имени ошибки
Νικήτας
Просто эксепт и действие
Unknown
это можно исправить исключениями?
from pyowm.exceptions.api_response_error import NotFoundError try: get_data(*args, **kwargs) except NotFoundError: print("smth")
Julian 🏳️‍🌈
Оно не перебьет все остальные NotFoundError?
Vladimir
Оно не перебьет все остальные NotFoundError?
так если библиотека и на неправильное имя страны и на другие ошибки рейзит один и тот же объект, то это проблема библиотеки
Kop
Есть здесь те, кто использовал graphene?
Julian 🏳️‍🌈
всмысле
Kop
Интересно попробовать
Julian 🏳️‍🌈
Из той либы, или базовое какое-то
Ssi
эм
Julian 🏳️‍🌈
Хотя если все это держать в отдельных файлах, то оно по модулям будет разбито 🤔
Vladimir
эмм
Ssi
так отлавливается же вполне конкретный NotFoundError
Vladimir
Ну так как Пайтон теперь определит какое из NotFoundError у нас?
если только ты заимпортишь в одном модуле, то да, ты переопределишь имя
Julian 🏳️‍🌈
Но он становится глобальным для всего файла
Vladimir
в остальном нет
Vladimir
as используй тогда
Julian 🏳️‍🌈
Ну да, я понял