Форум сайта python.su
> Сначала надо посмотреть; может, оно просто так работать будет.
Вот по этому я и написал что циклом лучше чем то что у тебя (“Explicit is better than implicit.” ведь правда…).
> Там вообще, может, другой подход нужен изначально.
Я этот подход в своём первом сообщении привёл.
Офлайн
RodegastТы привязался к PosgreSQL, будто это стандарт какой-то. А это не так. Стоит этой фигне попасть на комп, где нет PostgreSQL, потому что он стоит, например, там $100 в месяц, твой код сломается. Переписывать его времени не будет, а задействовать его будет невозможно.
Я этот подход в своём первом сообщении привёл.
RodegastНу ты код приведи и сразу станет видно, что ты не шаришь. Разговоры разговаривать на форуме сисадминов будешь.
Вот по этому я и написал что циклом лучше чем то что у тебя
Офлайн
> Стоит этой фигне попасть на комп, где нет PostgreSQL, потому что он стоит, например, там $100 в месяц, твой код сломается.
Не переживай, PostgreSQL бесплатный
> Ну ты код приведи и сразу станет видно, что ты не шаришь.
Что за код я должен привести? Под алхимию? Так я ей не пользуюсь, а нормальный запрос я уже написал
Офлайн
RodegastНе, как хостинг решит, так и будет. Видимо, ты не сталкивался с такими случаями, когда хостинг влазит в политику установки приложений на нём.
Не переживай, PostgreSQL бесплатный
Офлайн
> Не, как хостинг решит, так и будет. Видимо, ты не сталкивался с такими случаями, когда хостинг влазит в политику установки приложений на нём.
Я с хостингами уже лет 10 как не сталкивался. В любом случае эта проблема решается заменой хостинга на более адекватный.
> вот завтра поступит команда “перевести это с PostgreSQL на MySQL или там MSSQL”, вот ты что делать будешь? переписывать сотни этих выборок с одного SQL-диалекта на другой или всё-таки ты используешь такую вот ORM типа Алхимии
Проблема перехода с одних источников данных на другие не решается при помощи использования тех или иных библиотек, а с помощью правильной архитектуры. Вот поступит тебе команда “получать данные не из БД, а из API” и что ты будешь делать? Я так думаю что всё переписывать А все из за того что используя ORM ты не можешь абстрагироваться от источника данных.
> А все вот эти анализы должны выполняться снаружи базы данных.
А как же таблицы с миллионами строк?
> Во-вторых, из SQL-кода ты столько не выжмешь, сколько из питон-кода. … они являются просто процедурами в какой-то там древней парадигме, которая особо ничего не даёт.
Если ты в чём то не разбираешься, то лучше промолчи … за умного сойдешь
Офлайн
Тебе нужно просто сформировать
запрос к БД делать выборку контактов по дельте (today, delta) не учитывая год, а только месяц и день
Офлайн
RodegastНе, это делается по-другому. Ты делаешь абстрактный исполнитель, который абстрактно работает с абстрактной базой данных. Ты не делаешь PostgreSQL, потому что она может не сработать где-то в какой-то установке, а ты PostgreSQL подключаешь к этому абстрактному исполнителю и оно работает, пока это разрешено и получается. Как только PostgreSQL надо сменить, ты его меняешь спокойно и всё, переливаешь данные в другую хрень, которая там понадобится. Просто подключаешь другую СУБД к своему абстрактному исполнителю. Так как он абстрактный, то он абстрактно работает с абстрактной базой данных через абстрактную СУБД. Поэтому всё это возможно делать. Понимаешь, да, что такое полиморфизм? Вот это полиморфизм. Благодаря этому устройству можно написать один код, который как-то определённо надёжно работает, но при этом натянуть его с самого начала на что угодно и иметь при этом возможность перенатянуть его в любое время на любую другую хрень любого вида и с любыми особенностями. Можно и с несколькими абсолютно разными базами данных сразу одновременно работать через один и тот же код, но ты пока маленький, чтобы такие вещи понимать и выстраивать в голове, у тебя пока только одна база данных и всё. То есть думать параллельными полиморфными структурами ты пока не умеешь.
Я с хостингами уже лет 10 как не сталкивался. В любом случае эта проблема решается заменой хостинга на более адекватный.
RodegastА если это уже самый адекватный? Неужели ты думаешь, что все себе выбирают наихудшие хостинги и сидят на них до посинения? Нет, бывает вот, что какая-то тупорылая хуйня начинает с тебя вдруг брать плату. Это в Slack'е так было. Было сначала всё нормально, а потом туда кто-то пришёл на работу и началась другая политика типа “мы о вас решили позаботиться типа, поэтому мы вам всё урежем сейчас и вы нам тогда заплатите, чтобы мы вам это обратно открыли”. Идиоты. Такое впечатление, что они наняли менеджера, который из какой-то конкурирующей фигни пришёл их специально замочить, просто разложить их в пыль. Что ни нововведение, то какая-то хуета вот такая. Изначально они себя позиционировали как заменитель электронной почты, прямо это как электронная почта, только лучше. Но это продержалось только два-три года всего, а потом началось такое, что это никакая не электронная почта даже близко. В электронную почту никакой дебил не может прийти с улицы и начать всю политику по всему Интернету менять. Она как раз останется неизменной. Вот в этом они просчитались. И поэтому нахуй пошли. Я на Discord сразу перешёл и перевёл всех. Сейчас про этот Slack даже не вспоминаю. А то вот они позиционировали себя чуть ли не новой эпохой Интернета. Ну обычные дебилоиды из разряда тех, которые Linux хотели платной сделать. Тоже кучка дебилов каких-то, которые нахуй никому не нужны. В итоге Linux бесплатная, а где они все?
В любом случае эта проблема решается заменой хостинга на более адекватный.
RodegastА ты думаешь, у меня программа знает, что она из базы данных данные берёт? Она не знает, она берёт от интерфейсов что-то там, а куда они там прикреплены, она не в курсе.
Вот поступит тебе команда “получать данные не из БД, а из API” и что ты будешь делать?
RodegastНе, к ORM'у прикреплен интерфейс. ORM - это просто исполнитель. Его можно заменить в любой момент на другой ORM. Для того эти интерфейсы-то и делаются. Ты общаешься с интерфейсами и всё, а куда они прикрепляются - сегодня туда, завтра сюда - ты не в курсе. Ничего не меняется в плане работы с ними.
А все из за того что используя ORM ты не можешь абстрагироваться от источника данных.
RodegastВ его случае оставляется всё, что он там наплодил. Ты говоришь “надо цикл какой-то там делать”, не надо ничего делать. Это минимальное изменение, чтобы ему всю хуйню не переписывать. Так-то да, надо смотреть, что он там вообще делает. Может, он неправильно вообще всё сделал.
А как же таблицы с миллионами строк?
RodegastНу вот как раз ты и не знаешь. Хотел бы что-нибудь сказать, а что тут скажешь, если у тебя элементарных знаний нет. Ты даже интерфейсы не освоил, не понимаешь, что это и зачем они нужны. Приходится вот тебе рассказывать тут. Книг-то ты всё равно не читаешь, они там все на английском. А по-русски таких книг не пишут, только доисторические.
Если ты в чём то не разбираешься, то лучше промолчи
Отредактировано py.user.next (Сен. 22, 2023 05:16:58)
Офлайн
> запрос к БД делать выборку контактов по дельте (today, delta) не учитывая год, а только месяц и день
http://python.su/forum/topic/43014/?page=1#post-228642
> Не, это делается по-другому …
Много букоф. Не читал.
> А если это уже самый адекватный …
Много букоф. Не читал.
> Ты говоришь “надо цикл какой-то там делать”, не надо ничего делать
Если после сообщения стоит смайлик “ ” или “
”, то это значит что я просто прикалываюсь над тем что ты написал. Вроде не первый день на форуме, должен знать…
> А ты думаешь, у меня программа знает, что она из базы данных данные берёт …
Это всё твои понты. А что по факту? SQL - ты не знаешь. Может ты умеешь с ORM работать? Да нет, тоже не умеешь. romario82 даже не может нормально модель создать, но его решение (это то которое неизвестно как будет вести себя на стыке месяцев) на порядок лучше твоего бреда над которым я прикалывался. Из этого можно сделать вывод что у тебя нет опыта написания приложений которые активно взаимодействуют с БД.
Офлайн
RodegastКак раз поэтому ты ничего и не знаешь. Чтобы что-то знать, надо читать постоянно, причём всё читать и много. Сначала ты отмазки лепил, что английский такой плохой язык, что на нём вообще ничего читать не надо, и поэтому ты ничего не знаешь, что там на английском понаписали. А понаписали там много всего. Теперь и про русский тоже у тебя отмазка, что там много пишут слишком, это тяжело читать, поэтому читать только краткую информацию нужно, она типа самая умная. И куда хочешь прийти с вот этим вот настроем?
Много букоф. Не читал.
RodegastТы думаешь, это SQL? Все реляционные СУБД поддерживают язык SQL, но если ты вставишь это выражение в другую СУБД, то оно там не сработает. Почему? Потому что там SQL, а это не SQL.SELECT
id, "name", surname, email, phone, birthday, "text"
FROM
contacts
WHERE
numrange(
(SELECT EXTRACT(DOY FROM CURRENT_DATE))
, (SELECT EXTRACT(DOY FROM CURRENT_DATE))+7
) @> EXTRACT(DOY FROM TIMESTAMP birthday)
RodegastДля тебя ORM - это тоже какой-то космос, а для меня нет. Ну у тебя там опять с английским проблемы. Где английский - всё, там для тебя дверь закрыта и всё. Какой-то там гуглопереводчик тебя не спасает, потому что гуглопереводчик нужен чисто для трали-вали, дайте мне пакет молока и не более того. В самих книжках на английском ошибки бывают, смысловые прям ошибки бывают. Иногда читаешь, написана какая-то ахинея по смыслу и тут понимаешь, что автор неправильно выразился. Можешь ему даже написать потом и он ответит потом “да, да, да, я пропёрся там”. С гуглопереводчиком - он сам тебе ошибок нагенерит, которых там и не было вообще. Так что об чём ты собрался поговорить, если ты его не знаешь?
Может ты умеешь с ORM работать?
RodegastНе, он запустит, оно срабоает, а твои бредни про единственное, что ты знаешь, где-то там перевёл через гуглопереводчик и книжку нашёл, тоже перевод, просто пройдёт мимо как не в тему сказанное. Никто не заметит.
romario82 даже не может нормально модель создать, но его решение (это то которое неизвестно как будет вести себя на стыке месяцев) на порядок лучше твоего бреда над которым я прикалывался.
RodegastУ тебя для выводов аппарата нет.
Из этого можно сделать вывод что у тебя нет опыта написания приложений которые активно взаимодействуют с БД.
Отредактировано py.user.next (Сен. 23, 2023 06:45:54)
Офлайн
RodegastЯ вот тут присмотрелся к твоему коду.SELECT
id, "name", surname, email, phone, birthday, "text"
FROM
contacts
WHERE
numrange(
(SELECT EXTRACT(DOY FROM CURRENT_DATE))
, (SELECT EXTRACT(DOY FROM CURRENT_DATE))+7
) @> EXTRACT(DOY FROM TIMESTAMP birthday)
The extract function returns values of type numeric.То есть оно не будет перекатываться через границу года.
Отредактировано py.user.next (Сен. 23, 2023 08:29:38)
Офлайн