Python 陷入炼金术关系系统

Python 陷入炼金术关系系统,python,sqlalchemy,Python,Sqlalchemy,我想创建一个由用户信息(sqlite db)组成的数据库 类用户(db.Model,UserMixin): id=db.Column(db.Integer,主键=True) login=db.Column(db.String(10),unique=True) email=db.Column(db.String(20),unique=True) psw=db.Column(db.String(500),nullable=True) 定义报告(自我): 返回f“” 这是我已经做过的。 我想创建字段

我想创建一个由用户信息(sqlite db)组成的数据库

类用户(db.Model,UserMixin):
id=db.Column(db.Integer,主键=True)
login=db.Column(db.String(10),unique=True)
email=db.Column(db.String(20),unique=True)
psw=db.Column(db.String(500),nullable=True)
定义报告(自我):
返回f“”
这是我已经做过的。
我想创建字段即将到来的朋友,即将到来的朋友,朋友,我想我需要创建一个新的类来扩展用户,但是我没有找到文档,也不知道如何做。

用户
表存储您需要的关于特定用户的信息。如果您想了解此
用户
在您的应用程序中可能有哪些朋友,则可以创建另一个名为
朋友
的表

class-Friend(db.Model,UserMixin):
id=db.Column(db.Integer,主键=True)
即将到来的朋友=db.Column(db.String(64),unique=True)
传入的朋友=db.Column(db.String(64),unique=True)
user\u id=db.Column(db.Integer,db.ForeignKey('user.id'))
定义报告(自我):
返回f“”
要在这两个数据库结构之间创建关系,我们将执行以下操作:

类用户(db.Model,UserMixin):
id=db.Column(db.Integer,主键=True)
login=db.Column(db.String(10),unique=True)
email=db.Column(db.String(20),unique=True)
friends=db.relationship('Friend',backref='',lazy='dynamic')
定义报告(自我):
返回f“”
user\u id
字段被初始化为
user.id
的外键,这意味着它引用了
user
表中的
id
值。在此引用中,
user
部分是模型的数据库表的名称

在引用
db.ForeignKey
中的
user
表时,有点不一致。在这里,您可以看到
user
表以小写开头,而在
db.relationship
中引用
Friend
表时,我们以大写开头

class User(db.Model, UserMixin):
    id = db.Column(db.Integer, primary_key=True)
    login = db.Column(db.String(10), unique = True)
    email = db.Column(db.String(20), unique = True)
    psw = db.Column(db.String(500), nullable=True)
    def __repr__(self):
        return f"<User {self.id}>"