python - Flask-SQLAlchemy 多重关系问题
问题描述
我正在构建一个使用 Flask-sqlalchemy 的应用程序。用户可以查看表格并创建从 A 点到 B 点的行程。数据保存到数据库。但是,我被困在想要在 Voyage Model 中使用相同外键的地方,但这给我带来了错误。
这是我的代码:
class User(db.Model):
"""User"""
__tablename__ = 'users'
id = db.Column(db.Integer, primary_key=True, autoincrement=True)
username = db.Column(db.Text, unique=True, nullable=False)
password = db.Column(db.Text, nullable=False)
email = db.Column(db.Text, unique=True, nullable=False)
first_name = db.Column(db.Text, nullable=False)
last_name = db.Column(db.Text, nullable=False)
clubs = db.relationship('Club', backref='users', cascade='all')
class Voyage(db.Model):
"""Voyage"""
__tablename__ = 'voyage'
id = db.Column(db.Integer, primary_key=True, autoincrement=True)
user_id = db.Column(db.Integer, db.ForeignKey('users.id'), primary_key=True)
**start_point = db.Column(db.Integer, db.ForeignKey('clubs.id'))**
**end_point = db.Column(db.Integer, db.ForeignKey('clubs.id'))**
class Club(db.Model):
"""Club"""
__tablename__ = 'clubs'
id = db.Column(db.Integer, primary_key=True, autoincrement=True)
name = db.Column(db.Text, nullable=False)
address = db.Column(db.Text, nullable=False)
city = db.Column(db.Text, nullable=False)
state = db.Column(db.Text, nullable=False)
zip = db.Column(db.Integer, nullable=False)
lat = db.Column(db.Numeric, nullable=True)
lon = db.Column(db.Numeric, nullable=True)
tel = db.Column(db.Text, nullable=True)
url = db.Column(db.Text, nullable=True)
users = db.relationship('User', backref='clubs', cascade='all')
非常感谢任何改进此代码的建议。
解决方案
推荐阅读
- r - 如何在我的情绪分析应用程序中显示缺失值
- iis - .Net 核心和 IIS 10.0 给出 HTTP 错误 500.19 - 内部服务器错误
- node.js - 如何在 ubuntu 中修复 Listen EADDRINUSE
- asp.net-mvc - Microsoft.Web.Redis.RedisSessionStateProvider 是否支持与 redis 存储的 tls 1.2 连接?
- scikit-learn - Tfidf 矢量化器
- python - NodeJS:在 conda 环境中运行 python 脚本
- html - 虽然我没有显示图像悬停效果。我也可以在图像上使用叠加层
- vertex - 3ds max 不会焊接由形状制成的多边形的顶点
- scala - 从 Scala 中的 Spark 获取位于 GCS 存储桶中的所有文件的路径的最佳方法是什么?
- visual-studio - 有没有办法单独运行代码分析功能?视觉工作室