@ru_python

Страница 7213 из 9768
Alexander
29.11.2018
11:02:28
Iliya
29.11.2018
11:02:41
.join().join().join()?
так себе совет

Ruslan
29.11.2018
11:02:49
ага, типа я это не пробовал

есть три таблички в виде классов от Base, одна табличка связывает две другие и содержит дополнительные данные

Google
Alexander
29.11.2018
11:03:29
так себе совет
Чем плох? А то может мне код надо переписать.

Ruslan
29.11.2018
11:03:53
ты его сначала покажи, а мы решим, надо или нет ?

Ruslan
29.11.2018
11:04:39
типа M2M

Маришка
29.11.2018
11:05:13
Выглядит странно по описанию

Ruslan
29.11.2018
11:06:51
не могу это описать на алхимии

Маришка
29.11.2018
11:07:00
session.query(t1).join(t2).join(t3)

Ruslan
29.11.2018
11:07:17
а теперь представим, что session на asyncio

Nikolay
29.11.2018
11:07:20
А теперь на raw sql

Google
Andrew
29.11.2018
11:07:29
пример в студию
В документации алхимии все разжевано дальше некуда

Ruslan
29.11.2018
11:07:42
А теперь на raw sql
с raw sql никаких проблем нет

Nikolay
29.11.2018
11:07:54
Ну тогда что ещё надо

Ruslan
29.11.2018
11:08:06
В документации алхимии все разжевано дальше некуда
видимо не для меня, не выходит каменная чаша

поэтому я и говорю, пример есть?

небольiой ньюанс, всё на asyncio

Nikolay
29.11.2018
11:08:46
А, в питоне2 такого нет

Непомогу

Ruslan
29.11.2018
11:09:02
в питоне 3.6

Nikolay
29.11.2018
11:09:11
Слишком сыро

Ruslan
29.11.2018
11:10:17
короче, непонятно, толи колдовать на уровне класса, описывающего таблицу, с параметрами relationship, то ли на уровне кода, который формирует запрос перед его выполнением

Nikolay
29.11.2018
11:10:33
Ладно я саппорчу код на 2,7 , так я ещё и размножают код на питоне2

Andrew
29.11.2018
11:10:55
короче, непонятно, толи колдовать на уровне класса, описывающего таблицу, с параметрами relationship, то ли на уровне кода, который формирует запрос перед его выполнением
И так и так можно. В зависимости от того что нужно. Пример рабочий Base = declarative_base() class Parent(Base): tablename = 'parent' id = Column(Integer, primary_key=True) children = relationship("Child", order_by="Child.id")

Ruslan
29.11.2018
11:11:01
как правильно?

Andrew
29.11.2018
11:12:25
как правильно?
При выполнении в сессии можно получать сразу связанные таблицы. А можно не получать)

Andrew
29.11.2018
11:13:39
как неожиданно
Ну так пример кейса?

Ruslan
29.11.2018
11:14:51
Ну так пример кейса?
три таблицы, объявленные классами, нужен пример выборки с двумя JOIN, желательно с настройкой этой хрени в классах

Andrew
29.11.2018
11:16:31
Выборки чего из чего? Слишком общая формулировка, много комбинаций. Вообще я настаиваю на изучении документации. И встроенный построитель запросов в помощь

Google
Andrew
29.11.2018
11:22:45
https://hastebin.com/acijamoyak.py
Portfolioitem. Добавить свойство символ = relation

Ruslan
29.11.2018
11:22:56
пример

Andrew
29.11.2018
11:23:04
Позже. Жру-с

Ruslan
29.11.2018
11:23:24
пробовал так: # symbols = relationship( # 'finance_portfolioitem', # secondary='finance_symbol', # primaryjoin='finance_portfolioitem.portfolio_id == finance_portfolio.id', # secondaryjoin='finance_portfolioitem.symbol_id == finance_symbol.id' # )

Admin
ERROR: S client not available

Andrew
29.11.2018
11:24:03
Ненужные джойны в релешенах. Алчеми сам все сделает

Ruslan
29.11.2018
11:24:54
пока это всё сказки, не выходит магия ?

Andrew
29.11.2018
11:25:16
пока это всё сказки, не выходит магия ?
Хех, лодырь. В доках есть много случаев

Ruslan
29.11.2018
11:25:51
[2018-11-29 14:25:39,942] [handlers] [DEBUG] Result: relationship 'symbols' expects a class or a mapper argument (received: <class 'sqlalchemy.sql.schema.Table'>)

symbols = relationship('finance_portfolioitem', secondary='finance_symbol')

Vadim
29.11.2018
11:26:58
Хвала господу и всем кто помог я решил этих кроликов ебнх

Ruslan
29.11.2018
11:27:06
поправился: symbols = relationship(Symbol, secondary='finance_symbol')

[2018-11-29 14:26:48,213] [handlers] [DEBUG] Result: Could not determine join condition between parent/child tables on relationship PortfolioItem.symbols - there are no foreign keys linking these tables via secondary table 'finance_symbol'. Ensure that referencing columns are associated with a ForeignKey or ForeignKeyConstraint, or specify 'primaryjoin' and 'secondaryjoin' expressions.

Andrew
29.11.2018
11:27:38
Fk проверь

Ruslan
29.11.2018
11:27:49
что имеешь в виду?

Andrew
29.11.2018
11:30:12
что имеешь в виду?
Первый пример https://docs.sqlalchemy.org/en/latest/orm/extensions/declarative/relationships.html#declarative-configuring-relationships

David
29.11.2018
11:36:09


Google
Dmitriy
29.11.2018
11:36:55
Кавычки не те, вроде

Ruslan
29.11.2018
11:40:42
я же говорю, нихера не понятно

Andrew
29.11.2018
11:41:00
ты думаешь я это не читал?
Думаю что не понял

Ruslan
29.11.2018
11:41:14
я об этом сразу сказал, нужен пример

Alexander
29.11.2018
11:42:44
У тебя join сложный.

Ruslan
29.11.2018
11:46:58
для кого-то да, некоторые вообще join понять неспособны

Alexander
29.11.2018
11:47:14
для кого-то да, некоторые вообще join понять неспособны
def fun(data): result = session.query( Portfolio.id, PortfolioItem.percent, Symbol.alias ).select_from(PortfolioItem).join( Portfolio, PortfolioItem.portfolio_id==Portfolio.id ).join( Symbol, PortfolioItem.symbol_id==Symbol.id ).filter(Portfolio.account_id == account_id)

Страница 7213 из 9768