小编use*_*366的帖子

在SQLAlchemy中使用1-N关系

在使用以下类定义简单的1-n关系后:

class User(db.Model):
__tablename__ = 'user'
UserID = db.Column(db.Integer, primary_key=True)
Name = db.Column(db.String(80), unique=True)
emails = db.relationship('email')

def __init__(self, username):
    self.Name = username


class Email(db.Model):
    __tablename__ = 'email'
    EmailID = db.Column(db.Integer, primary_key=True)
    Email = db.Column(db.String(80), unique=True)
    User = db.Column(db.Integer,db.ForeignKey('user.UserID'))

    def __init__(self, mail):
    self.Email = mail
Run Code Online (Sandbox Code Playgroud)

我想创建一个用户并添加一些邮件,然后使用以下命令将其保存到数据库:

username = "serkan1"
newuser = User(username)
newuser.emails[Email(Email='serkan@ismygirl.com'),Email(Email = 'eddfsdfq@ff.com')]
db.session.add(product)
db.session.commit()
return "ok"
Run Code Online (Sandbox Code Playgroud)

但是我得到了错误:

ArgumentError: relationship 'emails' expects a class or a mapper argument (received: <class 'sqlalchemy.sql.schema.Table'>)
Run Code Online (Sandbox Code Playgroud)

我怎样才能简单地创建一个用户,以1-n模式向其添加一些电子邮件并将其保存到数据库?

python flask-sqlalchemy

1
推荐指数
1
解决办法
1106
查看次数

标签 统计

flask-sqlalchemy ×1

python ×1