Python SQL炼金术一对一(烧瓶)

Python SQL炼金术一对一(烧瓶),python,sqlalchemy,Python,Sqlalchemy,我想在一对一关系表中为用户创建一个配置文件。如何为用户和用户配置文件执行此操作 我还想展示一下,让他们在一起。。如何为CRUD操作连接配置文件和用户表 非常感谢你 class User(UserMixin, db.Model): __tablename__ = 'users' id = db.Column('user_id', db.Integer, primary_key = True) email = db.Column(db.String(128), unique

我想在一对一关系表中为用户创建一个配置文件。如何为用户和用户配置文件执行此操作

我还想展示一下,让他们在一起。。如何为CRUD操作连接配置文件和用户表

非常感谢你

class User(UserMixin, db.Model):
    __tablename__ = 'users'
    id = db.Column('user_id', db.Integer, primary_key = True)
    email = db.Column(db.String(128), unique = True)
    password = db.Column(db.String(200))
    is_admin = db.Column(db.Boolean, default=False)
    is_active = db.Column(db.Boolean, default = False)
    token = db.Column(db.String(100), unique = True)
    profile = relationship("Profile", lazy = "joined")

    def __init__(self, email, password, token, is_admin = False, is_active = False):
        self.email = email
        self.password = self.GenerateHash(password)
        self.is_active = is_active
        self.is_admin = is_admin
        self.token = token

类配置文件

您必须更改用户表中的此行:

profile = relationship("Profile", lazy = "joined")

档案类中:

class Profile(db.Model):
    __tablename__ = 'profiles'
    id = Column(Integer, primary_key=True)
    user_id = Column(Integer, ForeignKey('user.id'))
    user = relationship("User", back_populates="profiles")
您可以查看文档


编辑:由于没有关于类Profile的规范,我将其超类更改为db.Model

谢谢您的回答,back_在关系中填充的含义是什么?它用于让sqlalchemy知道两个表之间的连接,您可以使用
backref
来避免它。这是一个很好的解释。
class Profile(db.Model):
    __tablename__ = 'profiles'
    id = Column(Integer, primary_key=True)
    user_id = Column(Integer, ForeignKey('user.id'))
    user = relationship("User", back_populates="profiles")