使用flask_SQLAlchemy如何创建一对多关系表数据库(sqlite3)
from flask_sqlalchemy import SQLAlchemy
from flask import Flask
app = Flask(__name__)
app.config["SQLALCHEMY_DATABASE_URI"] = "sqlite:///test.sqlite3"
app.config['SQLALCHEMY_ECHO'] = False
app.config['SQLALCHEMY_TRACK_MODIFICATIONS'] = False
db = SQLAlchemy(app)
class User(db.Model):
__tablename__ = 'user'
id = db.Column(db.Integer, primary_key=True)
nickname = db.Column(db.String(64), index=True, unique=True)
email = db.Column(db.String(120), index=True, unique=True)
all_item = db.relationship('Monitor', backref='author', lazy='dynamic')
password = db.Column(db.String(256))
class Monitor(db.Model):
__tablename__ = 'monitor'
M_id = db.Column(db.Integer, primary_key=True)
item_id = db.Column(db.Integer, nullable=False)
item_name = db.Column(db.String(128), default='')
item_price = db.Column(db.String(64), default='')
user_price = db.Column(db.String(64), nullable=False)
user_id = db.Column(db.Integer, db.ForeignKey('user.id'))
if __name__ == '__main__':
db.create_all()
u_id = 1
m_id = 1
nickname = 'lb'
email = '1975284269@qq.com'
all_item = [Monitor(M_id=m_id, item_id=10086, item_name='中国移动', item_price='100', user_price='99', user_id=u_id)]
password = '12345'
u1 = User(id=u_id, nickname=nickname, email=email, all_item=all_item, password=password)
db.session.add(u1)
db.session.commit()
x = User.query.all()
print(x)