Size: a a a

2021 July 18

AB

Anton Belov in Python Flask
Очень хочется ответить очень грубо, потому что в документации к flask-login всё разжёвано мельче некуда. Не поленись, пожалуйста, почитать. Там даже искать ничего не нужно, прямо вот заходишь в документацию и на главной почти сразу
источник

А

Айрат Каримов... in Python Flask
и спать после такого не сможешь
источник

А

Айрат Каримов... in Python Flask
иногда кое какие вещи выходят за рамки документации))) когда начинаешь что то изящно делать)
источник

AB

Anton Belov in Python Flask
Не твой случай, иди читай
источник

В

Владимир in Python Flask
Мне кажется это bad practice пытаться сунуть в бд через трай эксепт. Провалидируй, проверь нет ли такого в базе, потом запихивай)
источник

Я

Ярослав in Python Flask
А почему же bad practice? На то ведь и существуют сессии в бд, что мы можем всунуть юзера в бд и если что-то не так - откатиться к исходному состоянию. В противном случае нужно делать дополнительный запрос в бд чтобы проверить на наличие там юзера...
источник

Я

Ярослав in Python Flask
Поправьте меня, если я ошибаюсь. Мне правда интересно чужое мнение на этот счет
источник

А

Артём in Python Flask
Ну, может и так, но except Exception - это точно плохая практика. Надо хотя бы ловить релевантный эксепшн, а не все подряд.
источник

В

Владимир in Python Flask
Ну у него тут вся валидация +/- на констрейнтах в бд я к этому больше
Условно говоря нужен валидный и уникальный ящик, а в бд подойдет любая уникальная строка
Ну и например получится в том числе зарегаться с MyMail@mail.ru хотя человек с mymail@mail.ru в бд есть
источник

Я

Ярослав in Python Flask
Ааа, ну я сильно не всматривался в код, просто само утверждение смутило, мол try/except плохая практика при работе з бд. Тепер понял суть претензии
источник

AF

Artem Fadeev in Python Flask
помогите с запросом пж, не могу никак придумать
   # Если владелец поста current_user и пост имеет сообщения
   # + Все посты, где отправитель сообщения - current_user
https://pastebin.com/1RxHFUDN
источник

AF

Artem Fadeev in Python Flask
+ надо как-то отдельно посты вывести по первому пункту, ведь у одного поста могут быть разные отправители, соответсвенно разные диалоги должны быть
источник

В

Владимир in Python Flask
Модели вижу а где попытка написать запрос?
источник

AF

Artem Fadeev in Python Flask
да у меня вообще каша в бошке, я пробую что-то такое, но последнее условие не будет работать, потому что messages это список, да и без этого скорее всего я ерунду делаю
    messages = Ad.query.filter(and_(Ad.user_id == current_user.id, Ad.messages is not None, Ad.messages.sender_id == current_user.id)).all()
источник

В

Владимир in Python Flask
Ну по первому вопросу то Ad.query фильтровать надо по условию Ad.user_id == current_user.id чтобы вывести те Ad уоторые приндлежат current_user

Про второй пункт... имееься ввиду вывести те Ad где есть хотя бы одно сообщение от current_user?
источник

В

Владимир in Python Flask
Посты это ты Ad называешь?
источник

AF

Artem Fadeev in Python Flask
да
источник

AF

Artem Fadeev in Python Flask
ну типичный мессенджер, как на авито, напимер
по твоему объявлению написали, отобразилось в сообщениях и у тебя и у владельца объявления
ты написал кому-то, тоже самое
источник

AF

Artem Fadeev in Python Flask
Ad.user_id == current_user.id надо еще отфильтровать чтобы имелись сообщения
and_(Ad.user_id == current_user.id, Ad.messages is not None)

в одни скобки что ли засунуть
источник

В

Владимир in Python Flask
Тут нужно чтобы в query был и Ad и func.count от сообщений, также нужен group_by по Ad имхо
Пардон, хотел бы лучше помочь (чем просто накидать свое мнение)
источник