Похожие чаты

Ребят, правильно понимаю, что удаление строк через: session.query(...).delete() это легаси?

16 ответов

8 просмотров

session.query легаси

session.execute( delete(...).where(...) )

Ivan-Butskiy Автор вопроса
Tishka17
session.query легаси

с чего это query - легаси? как тогда выборку делать?

Оцелотег
А session.delete(obj) ?

Это если у тебя есть объект

Ivan-Butskiy Автор вопроса
Alex
session.execute( select(...).where(...) )

хмм.. спасибо за ответы

Ivan Butskiy
с чего это query - легаси? как тогда выборку делат...

С того что query это устаревшее ORM API, вместо которого с 1.4 теперь идет унифицированное API для Core и ORM

Ivan-Butskiy Автор вопроса
Ivan Butskiy
спасибо, понял

Ivan, Вы увеличили карму Alex до 773.55 (+7.98)

Ivan Butskiy
с чего это query - легаси? как тогда выборку делат...

https://docs.sqlalchemy.org/en/20/orm/session_api.html#sqlalchemy.orm.Session.query Note that the Query object is legacy as of SQLAlchemy 2.0; the select() construct is now used to construct ORM queries.

Ivan-Butskiy Автор вопроса
Alex
https://docs.sqlalchemy.org/en/20/orm/session_api....

а с таким подходом можно будет комбинировать методы для получения объектов? например: repository.related_to_company(int).related_to_customer(int)

Ivan-Butskiy Автор вопроса
Alex
session.execute( delete(...).where(...) )

хз, конечно, но вот так почему-то не отрабатывает, хотя в select показывает, что объекты эти есть в БД: select_stmt = (select(CustomerAccountLocation) .where(CustomerAccountLocation.customer_id == prev_customer_id, CustomerAccountLocation.location_id == instance.id)) selected = self.unit_of_work.session.execute(select_stmt).all() delete_stmt = (delete(CustomerAccountLocation) .where(CustomerAccountLocation.customer_id == prev_customer_id, CustomerAccountLocation.location_id == instance.id)) self.unit_of_work.session.execute(delete_stmt)

Ivan-Butskiy Автор вопроса
Ivan Butskiy
хз, конечно, но вот так почему-то не отрабатывает,...

Странно, но только добавив commit() все заработало и строки удалились. Я думал, что execute() отправляет запрос в БД

Похожие вопросы

Обсуждают сегодня

Сообщение* в закодированном виде. То есть, просто сделать sendMessage?text=Привет бла-бла! не получится, надо в HEX переводить, и добавлять процент, типа такого: sendMessage?t...
КТ315
21
А случайно нет ли в паскале штатной возможности передать указатель и количество туда где array of в качестве аргумента?
zamtmn
25
Anyone have any good learning material on how to do network analysis on cryptocurrency? Obviously monero is different story, but for Ethereum network for example. Thanks.
John Doe
13
@LGCYMan @JustinKKW Q/A List 1. this part confuses me on #8: "From there, a bridge between erc20 LGXY and erc20 LGXY will be out once that swap is closed." does this mean ...
Sig | LGCY | BattleVerse L1 | BitWin
1
Anyone here suffers from unexplained aural migraines, who would be up for talking for a bit? Doesn't *have* to be aural, but I am not asking about headaches, I mean actual mi...
Martin Rys
58
Хм. А телеграм апи работают через HTTP?
The Bird of Hermes
14
Почему Telegram пишет, что объект media не найден, хотя на самом деле я его передаю? Делаю на urllib, без зависимостей, так надо. Вызываю метод sendMediaGroup с таким JSON: ...
Alexey S
1
Did @Beeker really get banned? That's ridiculous. He's one of the few left here with half a brain and you might not always like his narrative @dgb_ycagel , but he often keeps ...
Leroy Gerrits
1
Ну раз я пока тут, задам пару глупых вопросов. Зачем писать на ассемблере если компилятор довольно умный, а ассемблер много времени занимает? В каких прикладных задачах сейчас...
Максим Рябцев
20
How do I get FrxEth? Need it to execute a contract
Abdullah $BTON
18
Карта сайта