Hello,
I'd like to use a sql.func.jsonb_agg() with the following
InstrumentedAttribute:
orm.mapper(
Question, tables['amnesia_phc_registry.question'],
properties={
'choices': orm.relationship(
Choice, back_populates='question'
),
'answers_text': orm.relationship(
AnswerText, back_populates='question'
)
}
)
q1 = (
self.dbsession.query(Question)
.join(Question.choices)
.join(Choice.experts)
.filter(Choice.experts.contains(self.entity))
.group_by(Question.id)
).add_columns(
sql.func.jsonb_agg(Question.choices)
)
but I'm getting a list of [True, True], for example:
(<amnesia_phc_registry.model.Question object at 0x805e90850>, [True, True, True, True])
this is because the generated query is
jsonb_agg(
amnesia_phc_registry.question.id = amnesia_phc_registry.question_choice.question_id) rather than jsonb_agg(amnesia_phc_registry.question_choice)
any idea how could I achieve this ?
Thanks!
Julien
--
Julien Cigar
Belgian Biodiversity Platform (
http://www.biodiversity.be)
PGP fingerprint: EEF9 F697 4B68 D275 7B11 6A25 B2BB 3710 A204 23C0
No trees were killed in the creation of this message.
However, many electrons were terribly inconvenienced.