在使用以下类定义简单的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模式向其添加一些电子邮件并将其保存到数据库?