У меня проблемы с присоединением таблицы user_account к user_evaluation
class user_account(db.Model):
user_id = db.Column(db.Integer, primary_key=True)
f_name = db.Column(db.String(100), unique=False, nullable=False)
l_name = db.Column(db.String(100), unique=False, nullable=False)
username = db.Column(db.String(80), unique=True, nullable=False)
email = db.Column(db.String(120), unique=True, nullable=False)
password = db.Column(db.String(250), unique=False, nullable=False)
p_number = db.Column(db.String(20), unique=False, nullable=True, default='Not Set')
is_admin = db.Column(db.Boolean, unique=False, default=False)
is_eval = db.Column(db.Boolean, unique=False, default=False)
is_active= db.Column(db.Boolean, unique=False, default=True)
is_banned= db.Column(db.Boolean, unique=False, default=False)
user_img = db.Column(db.String(50), default='not-set-profile.png')
class user_evaluation(db.Model):
id = db.Column(db.Integer, primary_key=True, nullable=False)
user_id = db.Column(db.Integer, nullable=False)
eval_id = db.Column(db.Integer, nullable=False)
score = db.Column(db.Integer, nullable=False)
comment = db.Column(db.String(150), nullable=False)
ТАБЛИЦА user_account:
TABLE user_evaluation:
I have two tables called user_account and user_evaluation. I would like to join the table user_account twice with user_evaluation and get results as following:
The result above is what I want using flask-sqlalchemy. Current statement I'm using but isn't working is:
from sqlalchemy.orm import aliased
user_acc = aliased(user_account)
evaluation_report = db.session.query(user_account, user_evaluation).outerjoin(user_evaluation, user_evaluation.user_id==user_account.user_id).filter(user_account.user_id==user_evaluation.user_id).outerjoin(user_account.user_id==user_evaluation.user_id).all()
Обратите внимание: eval_id также должен присоединяться к user_id в таблице user_account.