flask-admin:如何获取当前用户的其他信息(除了ID,姓名,电子邮件)?

时间:2017-05-06 01:58:55

标签: python flask flask-sqlalchemy flask-admin

我希望在创建项目时自动存储用户名和他的团队。课程定义如下:

class Team(db.Model, RoleMixin):
    id = db.Column(db.Integer(), primary_key=True)
    name = db.Column(db.String(80), unique=True)

    def __str__(self):
       return self.name  

class User(db.Model, UserMixin):
    id = db.Column(db.Integer, primary_key=True)
    first_name = db.Column(db.String(255))
    last_name = db.Column(db.String(255))
    email = db.Column(db.String(255), unique=True)
    teams = db.relationship('Team', secondary=teams_users,uselist=False,
                        backref=db.backref('users', lazy='dynamic'))

    def __str__(self):
       return self.first_name

 class Project(db.Model):

    id = db.Column(db.Integer, primary_key=True)
    team = db.Column(db.Unicode(64))
    developer = db.Column(db.Unicode(128))  

       def __unicode__(self):
          return self.developer

我在创建项目时使用以下内容存储当前用户的名字和团队:

     class ProjectView(sqla.ModelView):
        def on_model_change(self, form, model, is_created):
           if is_created:
             model.developer = current_user.first_name
             model.team = current_user.teams

正确保存了用户名,但团队未能保存。我还试图存储model.team =current_user.emailmodel.team =current_user.last_namemodel.team =current_user.id,但都有效。不确定发生了什么原因导致无法存储current_user.teams。感谢。

0 个答案:

没有答案