коллеги,приветствую всех!
Можете подсказать,как сделать рекурсивный запрос в flask alchemy сделать?
class Tasks(db.Model):
tablename = 'tasks'
id = db.Column(db.Integer, primary_key=True, autoincrement=True)
task = db.Column(db.Text)
topics = db.relationship('Topics')
topics_id = db.Column(db.Integer, db.ForeignKey('
topics.id'))
class Topics(db.Model):
tablename = 'topics'
id = db.Column(db.Integer, primary_key=True, autoincrement=True)
name = db.Column(db.String(140))
parent = db.Column(db.Integer, default=0)
task = db.relationship("Tasks", back_populates='topics')
Есть две таблицы,в sql запрос будет таким-
; with recursive cte as (
select id , name , parentid, 1 lvl from topics
union all
select
t.id,
cte.name ,t.parentid, lvl+1 as lvl from topics t
join cte on t.parentid =
cte.id)
select
t.id, t.task
, max(
cte.name) filter (where lvl =4) subject
, max(
cte.name) filter (where lvl =3) category
, max(
cte.name) filter (where lvl =2) topic
, max(
cte.name) filter (where lvl =1) subtopic
from tasks t
left join cte
on t.topics_id =
cte.idgroup by
t.id, t.task
Как он будет выглядеть аналогично во flask alchemy?