我有模型:
class User(db.Model, UserMixin):
id = db.Column(db.Integer, primary_key = True)
login = db.Column(db.String(20), unique = True, nullable = False)
username = db.Column(db.String(200), nullable = True)
password = db.Column(db.String(60), nullable = False)
user_level = db.Column(db.Integer, nullable = False)
parent_id = db.Column(db.Integer, db.ForeignKey('user.id'))
terminals = db.relationship('Terminal', backref='owner', lazy = True)
controled_users = db.relationship('User', backref=db.backref('parent', remote_side=[id]), lazy = True)
def get_children_list(self) -> []:
beginning_getter = db.session.query(User).\
filter(User.id == id).cte(name='children_for', recursive=True)
with_recursive = beginning_getter.union_all(
db.session.query(User).filter(User.parent_id == beginning_getter.c.id)
)
return db.session.query(with_recursive).all()
def __repr__(self):
return "User('{0}')".format(self.username)
所以每个人都User可以有孩子用户的什么可以有自己的孩子。
我试图获取所有孩子的列表:
current_user.get_children_list()
在这里找不到什么问题?
慕无忌1623718
相关分类