AttributeError: 'SQLAlchemy' 对象没有属性 'string'

-2 python sqlalchemy

因为我是 Python 和 Flask 的新手,所以我被困住了。目前我正在学习一个名为 Learning Flask 的视频课程。我已经创建了一个模型,但是当我尝试启动应用程序时出现错误

from flask_sqlalchemy import SQLAlchemy
from werkzeug import generate_password_hash, check_password_hash

db = SQLAlchemy()

class User(db.Model):
    __tablename__ = 'users'
    uid = db.Column(db.Integer, primary_key =True)
    firstname = db.Column(db.string(100))
    lastname = db.Column(db.string(100))
    email = db.Column(db.String(120), unique=True)
    pwdhash = db.Column(db.String(54))

    def __init__(self, firstname, lastname, email, password):
        self.firstname = firstname.title()
        self.lastname = lastname.title()
        self.email = email.lower()
        self.set_password(password)

    def set_password(self, password):
        self.pwdhash = generate_password_hash(password)

    def check_password(self, password):
        return check_password_hash(self.pwdhash, password)
Run Code Online (Sandbox Code Playgroud)
(venv)smurf@tesla:~/WorkInProgress/learning-flask$ python routes.py
Traceback (most recent call last):
  File "routes.py", line 2, in <module>
    from models import db
  File "/home/smurf/WorkInProgress/learning-flask/models.py", line 6, in <module>
    class User(db.Model):
  File "/home/smurf/WorkInProgress/learning-flask/models.py", line 9, in User
    firstname = db.Column(db.string(100))
AttributeError: 'SQLAlchemy' object has no attribute 'string'
Run Code Online (Sandbox Code Playgroud)

小智 6

字符串应该大写

firstname = db.Column(db.String(100))
lastname = db.Column(db.String(100))
Run Code Online (Sandbox Code Playgroud)