У меня есть column_property
на моей модели, которая является счетчиком отношений на вторичной модели.Изолирующий подзапрос от его родителя
membership_total = column_property(
select([func.count(MembershipModel.id)]).where(
MembershipModel.account_id == id).correlate_except(None))
Это прекрасно работает, пока я не попытаюсь присоединиться к модели членства.
query = AccountModel.query.join(MembershipModel)
# ProgrammingError: subquery uses ungrouped column "membership.account_id" from outer query
я могу решить эту проблему путем добавления:
query = query.group_by(MembershipModel.account_id, AccountModel.id)
# resolves the issue
Но я не хочу, чтобы сделать это. Я хочу, чтобы это был его собственный остров, который игнорирует все, что делает запрос, и просто фокусируется на возврате количества членства для идентификатора учетной записи конкретной конкретной строки.
Что я могу сделать с помощью свойства column_property, чтобы сделать его более надежным и менее зависимым от того, что делает родительский запрос?
Спасибо! Документы также имели прецеденты ...: | –