python flask 一张表中两个字段间可以建立外键吗?如何使用
在Python Flask中,可以使用SQLAlchemy库来操作数据库。SQLAlchemy提供了ORM(对象关系映射)的功能,可以通过定义模型类来映射数据库表。
要在一张表中建立两个字段之间的外键关系,可以使用SQLAlchemy中的ForeignKey字段。下面是一个示例:
from flask import Flask
from flask_sqlalchemy import SQLAlchemy
app = Flask(__name__)
app.config['SQLALCHEMY_DATABASE_URI'] = 'sqlite:///database.db'
db = SQLAlchemy(app)
class User(db.Model):
id = db.Column(db.Integer, primary_key=True)
name = db.Column(db.String(50), nullable=False)
class Post(db.Model):
id = db.Column(db.Integer, primary_key=True)
title = db.Column(db.String(100), nullable=False)
user_id = db.Column(db.Integer, db.ForeignKey('user.id'), nullable=False)
user = db.relationship('User', backref=db.backref('posts', lazy=True))
if __name__ == '__main__':
db.create_all()
app.run()
在上面的示例中,Post模型类中的user_id字段定义了一个外键关联到User模型类的id字段。user字段使用db.relationship创建了一个反向引用,可以通过post.user访问对应的用户对象。
通过以上代码,你可以在一张表中建立两个字段之间的外键关系,并且使用ORM来方便地操作数据库。
原文地址: https://www.cveoy.top/t/topic/jb6l 著作权归作者所有。请勿转载和采集!