Aragaer
у тебя есть список SCHEMA_FIELDS и есть тайп хинтинг на них
Tishka17
надо выкинуть список SCHEMA_FIELDS и сделать аннотации на поля
Aragaer
окай. По идее по имени функции можно получить список ее аргументов в виде строк
Tishka17
да у меня отвалилась проверка по классу
Tishka17
Ладно. Другой вопрос:
https://github.com/Tishka17/dataclass_factory/issues/20
Насколько это нихрена не очевидное поведение и как сделать более очевидно?
Anonymous
Aragaer
Andrey
Добречка, ребят.
Вопрос про БД. Наткнулся на следующий момент:
Есть некий объект, допустим, Товар. Товар имеет название, дату создания. Товар может меняться по времени, например, изменится имя. Нужно за этим как-то следить. Было принято решение в пользу ревизий (было и было, что уж теперь).
Итого. Модель. Товар: uuid, название, дата создания, ревизия.
Получить последнюю ревизию не проблема - DISTINC ON uuid ... ORDER BY created_at DESC - как-то так.
Но, в недрах разработки возникла идея: дополнительный bool аттрибут is_last - мол, при создании новой ревизии будет проставляться is_last = True, а у предыдущей is_last = False.
Запрос, соответственно, трансформируется в WHERE is_last = True.
Но, что-то подсказывает, что есть проблемы с нормализацией БД в таком подходе, но я их (уровни нормализации) раскурить до конца не могу.
Подскажите, нормально ли это? Мне кажется нет, почему, не могу понять.
Vladimir
Tishka17
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...}
Egor
Tishka17
Tishka17
объект без четкой структуры не имеет смысла
Tishka17
для таких кейсов есть словари
Egor
Четкая структура, это что?
ARCH
ARCH
ARCH
ARCH
Помогите плисе
Danylo
Помогите плисе
Ошибка говорит что у тебя неправильный отступ в 19й строке
Anonymous
Все равно через дикт пойдут все лукапы, так что да лучше словарь
Anonymous
Не подскажите как можно вывести рандомное слово из строки?
maxlunar
Anonymous
Anonymous
Но спасибо за подсказку
maxlunar
что не работает?
maxlunar
так работает все
Anonymous
заебись
принт где?
maxlunar
ты в клоуна играешь видимо
Anonymous
ахаххахахахахаха сука, ебать я даун
Anonymous
спасибо большое @maxlunar
Kop
так и живем
maxlunar
*свечка_похуй*
Denis
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
ибо тут нет конкретной ошибки
Anonymous
из перечня
Νικήτας
NotFoundError или я ошибаюсь?
Anonymous
пробовал, не работает, или я что-то не так сделал
Νικήτας
Попробуй может эксепт без имени ошибки
Νικήτας
Просто эксепт и действие
Unknown
это можно исправить исключениями?
from pyowm.exceptions.api_response_error import NotFoundError
try:
get_data(*args, **kwargs)
except NotFoundError:
print("smth")
Julian 🏳️🌈
Оно не перебьет все остальные NotFoundError?
Kop
Есть здесь те, кто использовал graphene?
Julian 🏳️🌈
всмысле
Kop
Интересно попробовать
Julian 🏳️🌈
Julian 🏳️🌈
Из той либы, или базовое какое-то
Ssi
эм
Julian 🏳️🌈
Хотя если все это держать в отдельных файлах, то оно по модулям будет разбито 🤔
Vladimir
эмм
Ssi
так отлавливается же вполне конкретный NotFoundError
Damir
Julian 🏳️🌈
Но он становится глобальным для всего файла
Vladimir
в остальном нет
Vladimir
as используй тогда
Julian 🏳️🌈
Ну да, я понял