如何在python中将数据添加到当前会话中?

时间:2019-12-11 09:08:00

标签: python-3.x flask flask-sqlalchemy

我在 server-1

中有一个表 Org
 class Org(db.Model, UserMixin):
       org_id = db.Column(db.Integer, unique=False, nullable=True)
       org_name = db.Column(db.String(32), unique=True, nullable=False)

我在 server-2

中有另一个表 Employee
class Employee(db.Model, UserMixin):
    emp_id = db.Column(db.Integer, primary_key=True, nullable=False)
    empname = db.Column(db.String(32), unique=True, nullable=False)
    email = db.Column(db.String(255), unique=True, nullable=False)
    org_id = db.Column(db.Integer, unique=False, nullable=True)

   @staticmethod
   def org_name(org_id):
       organization_name = Emp_session.query(org).\
        filter(org.c.org_id == org_id).all()
    org_name = organization_name[0][1]
    return org_name


def checkEmp(email_username, password):
   user = Employee.query.filter_by(email=email).first() \
          or Employee.query.filter_by(empname =empname).first()
   if user.org_id or user.emp_id :
        name = user.org_name(user.org_id)
        print(name) #output: ABC Company
        return login_user(user, False)
else:
    return False

我已经通过 sqlalchemy server-2 server-1 建立了连接。我从 server-1 获取了 org 名称,我在 Employee 中声明了static方法> server-2 中的表。

我要在此处将name变量添加到当前的 session 中,该怎么做?

1 个答案:

答案 0 :(得分:0)

我想通了自己,这可能会帮助其他人:

print(current_user.org_name(current_user.org_id))

output: ABC company