Тёмный

Пишем telegram бота на Python. Часть 3. Faunadb. Подключаем базу данных. 

Степан Баранцев
Подписаться 202
Просмотров 763
50% 1

В этом видео я рассказываю о работе с Faunadb и пишу программу для работы с ней.
Курс "Python для начинающих": pythonforbegin...
Связаться со мной можно по почте: stepan.barantsev@gmail.com
Профиль на гитхабе: github.com/Ste...
Ссылка на проект (исходный код бота): github.com/Ste...
-----
Ссылки из видео:
fauna.com/ -- сайт faunadb
docs.fauna.com... -- примеры типовых запросов на FQL

Опубликовано:

 

29 сен 2024

Поделиться:

Ссылка:

Скачать:

Готовим ссылку...

Добавить в:

Мой плейлист
Посмотреть позже
Комментарии : 14   
@skyi7025
@skyi7025 2 года назад
АНИМЕ
@СтепанБаранцев-ъ5з
В этом видео я рассказываю о работе с Faunadb и пишу программу для работы с ней. Курс "Python для начинающих": pythonforbeginners.ru/ Связаться со мной можно по почте: stepan.barantsev@gmail.com Профиль на гитхабе: github.com/StepanBarantsev Ссылка на проект (исходный код бота): github.com/StepanBarantsev/course_bot ----- Ссылки из видео: fauna.com/ -- сайт faunadb docs.fauna.com/fauna/current/start/fql_for_sql_users.html -- примеры типовых запросов на FQL docs.fauna.com/fauna/current/tutorials/crud.html -- Типовые запросы на Python
@saraleingard395
@saraleingard395 4 года назад
Спасибо за видео, ждём продолжения)
@СтепанБаранцев-ъ5з
Спасибо за комментарий, продолжение будет в субботу-воскресенье)
@E1Capitan
@E1Capitan 4 года назад
Есть уже готовые запросы в фауну на питоне (и не только) у них же в документации: docs.fauna.com/fauna/current/tutorials/crud.html А то сначала не мог добавить запись в бд, а там, оказывается, не так просто все))
@СтепанБаранцев-ъ5з
Да, спасибо. Тоже полезный материал
@ЖораКорнев-н9в
@ЖораКорнев-н9в 4 года назад
Супер, рад что нашел твой канал, учусь писать ботов на Питоне, лайк и подписка!!!!
@СтепанБаранцев-ъ5з
Спасибо)
@jonathanomalley2108
@jonathanomalley2108 4 года назад
Степан,доброго времени суток) спасибо за видео очень помогло)не подскажите как сделать запрос в фауну , пример: у меня есть (fio : “Иванов Иван Иванович”) вопрос: как сделать что бы бот искал по всем словам(типа : Иванов...и выдавал всех иановых) а не по выражению целиком?
@СтепанБаранцев-ъ5з
Привет. Я бы в данном случае выделил отдельные поля под имя фамилию отчество. Тогда у нас появилась бы возможность искать отдельно по фамилии, по имени или по отчеству). Здесь может возникнуть вопрос, а что если иногда хочется искать только по фамилии, а иногда по ФИО целиком? Здесь как раз никакой проблемы нет, искать можно одновременно по неограниченному количеству полей. Нужно выделить специальный индекс, в котором ключами являются одновременно три поля. В интерфейсе фауны есть возможность создавать индексы не с одним ключом, а с несколькими одновременно. Я писал проект на JS, в котором нужно было искать человека, причем человек однозначно определялся тремя полями, e-mail, именем и курсом, который он проходил. Запрос выглядел вот так: clientf.query(q.Exists(q.Match(q.Index("Users_by_name_mail_course"), [students[i].email, students[i].fullname, course_name]))) По одному полю человека определять было нельзя, потому что в теории под одним email курс могли проходить несколько человек (например если они приходили от организации), ФИО вообще нельзя использовать как уникальный идентификатор, потому что ФИО может дублироваться у двух, вообще никак не связанных людей, курс тоже понятно почему не мог однозначно идентифицировать человека. Комбинация этих параметров как раз дает нам хорошую, однозначную идентификацию человека, прошедшего конкретный курс.
@jonathanomalley2108
@jonathanomalley2108 4 года назад
спасибо большое за ответ!@@СтепанБаранцев-ъ5з а как на счет БОЛЬШИХ и маленьких букв....заметил что ищет только так как указано в поле фауны, никак нельзя что бы не реагировало на величину букв?
@СтепанБаранцев-ъ5з
@@jonathanomalley2108 Опять же думаю, что здесь лучше всего еще на стадии формирования БД заносить ФИО с маленькой буквы (вообще все буквы приводить к маленьким через lower()). Затем, когда нужно выполнять поиск, если имя будет откуда-то поступать заглавное, то можно перед началом поиска тоже приводить его к строчным буквам через lower(). То есть заранее продумать формат, в котором будут храниться имена, и как во время поиска, так и во время занесения имен приводить имена к этому формату.
@jonathanomalley2108
@jonathanomalley2108 4 года назад
@@СтепанБаранцев-ъ5з спасибо)) добавил поиск по фамилии, вывел ее отдельным полем, столкнулся со следующим, если в базе есть 2 фамилии "Иванов" то присылает только того кого найдет первым, следующего не ищет,...как настроить что бы присылало всех однофамильцев? подскажите пожалуйста, буду очень благодарен!!!)))
@СтепанБаранцев-ъ5з
docs.fauna.com/fauna/current/tutorials/indexes/search Вот здесь можно об этом почитать. Приведу пример запроса для моего бота: print(q.query(query.map_(query.lambda_("person",query.get(query.var("person"))), query.paginate(query.match(query.index("students_by_telegram_id"), telegram_id))))) Сложно для восприятия, но по ссылке можно найти более удобочитаемый вид. По поводу того, как можно адаптировать под Ваш запрос -- нужно telegram_id заменить на 'Иванов' или любую другую фамилию и поменять название индекса "students_by_telegram_id" на Ваше. Все остальное можно не менять. В итоге должен приехать список всех элементов, подходящих под условие
Далее
Редакция. News: 136-я неделя
45:09
Просмотров 1,1 млн
Катаю тележки  🛒
08:48
Просмотров 515 тыс.
CORTE DE CABELO RADICAL
00:59
Просмотров 2,3 млн
Redis за 20 минут
23:22
Просмотров 140 тыс.