尝试查询表时出现烧瓶__repr__错误

时间:2020-07-05 16:37:17

标签: python sql flask

这是我的具有布尔字段admin的User模型:

class User(db.Model, UserMixin):

    __tablename__ = "users"
    id = Column(Integer, primary_key=True)
    lastname = db.Column(String(50), unique=False, nullable=False)
    firstname = db.Column(String(50), unique=False, nullable=False)
    username = db.Column(db.String(64), unique=True, index=True)
    email = db.Column(db.String(64), unique=True, nullable=False, index=True)
    password_hash = db.Column(db.String(128))
    admin = db.Column(Boolean)
    created_date = db.Column(Date, nullable=True)
    lastupdate_date = db.Column(Date, nullable=True)

    def __init__(self,lastname,firstname,email,username,password, admin, created_date):
        self.email = email
        self.lastname = lastname
        self.firstname = firstname
        self.username = username
        self.password_hash = generate_password_hash(password)
        self.admin = admin
        self.created_date=created_date

    def __repr__(self, email, lastname, firstname, admin):
        return f"User {self.id} is {self.email}, {self.lastname}. administrator: {self.admin}"

    def check_password(self,password): # check if password is ok when login
        return check_password_hash(self.password_hash,password)

我的模板是:

  <div class="jumbotron">
  <h1>Here is a list of all available users.</h1>
  <ul>
    {% for user in users  %}
    <li>{{user}}</li>
    {% endfor %}
  </ul>

</div>   

app.py就像那样:

@app.route('/listofuser')
@login_required
def listofuser():
    listusers = User.query.all()
    return  render_template('listofuser.html', users=listusers)

我的错误是: TypeError: repr ()缺少4个必需的位置参数:'email','lastname','firstname'和'admin'

我已经检查了数据库,一切似乎还可以。为什么我有此错误?

0 个答案:

没有答案