使用 dynamodb 时如何为 Flask-Login 创建用户 class?

How to create a User class for Flask-Login when using dynamodb?

我正在按照 https://www.digitalocean.com/community/tutorials/how-to-add-authentication-to-your-app-with-flask-login 上的教程向 Flask 应用程序添加 register/login 功能,该应用程序使用 Flask-Login 和 SQLite 数据库(使用 flask_sqlalchemy)。因此,它有如下代码用于初始化 SQLite 数据库(来自 init.py):

db = SQLAlchemy()
def create_app():
    app = Flask(__name__)

    app.config['SECRET_KEY'] = '9OLWxND4o83j4K4iuopO'
    app.config['SQLALCHEMY_DATABASE_URI'] = 'sqlite:///db.sqlite'

    db.init_app(app)

然后创建一个 User class(根据 Flask-Login 的要求),如下所示:

from flask_login import UserMixin
from . import db

class User(UserMixin, db.Model):
    id = db.Column(db.Integer, primary_key=True) # primary keys are required by SQLAlchemy
    email = db.Column(db.String(100), unique=True)
    password = db.Column(db.String(100))
    name = db.Column(db.String(1000))

但是,我想将用户信息存储在 dynamodb table,而不是 SQLite table 中。那Userclass应该怎么写呢?我希望每个 User 都有一个 emailpasswordname 属性(以及 https://flask-login.readthedocs.io/en/latest/#your-user-classUserMixin 处理),但我不确定在使用 dynamodb 时如何编写 class。

我写的用户class简单如下:

class User(UserMixin):
    def __init__(self, id, email, name, password):
        self.id = id
        self.email = email
        self.name = name
        self.password = password