python - SQLAlchemy 数据库迁移错误与 db.relationships
问题描述
在使用 db.relationship 时尝试“flask db init”或“flask run”时,我不断收到以下错误:
TypeError: relationship() got an unexpected keyword argument 'query_class'
如果我注释掉 db.relationship 行,它可以正常工作。
我试图通过使用下面的部分文档代码来实现这一点:
import os
from flask import Flask
from flask_sqlalchemy import SQLAlchemy
from flask_migrate import Migrate
app = Flask(__name__)
app.config['SECRET_KEY'] = 'mysecretkey'
basedir = os.path.abspath(os.path.dirname(__file__))
app.config['SQLALCHEMY_DATABASE_URI'] = 'sqlite:///'+os.path.join(basedir,'data.sqlite')
app.config['SQLALCHEMY_TRACK_MODIFICATIONS'] = False
db = SQLAlchemy(app)
Migrate(app,db)
class Person(db.Model):
id = db.Column(db.Integer, primary_key=True)
name = db.Column(db.String(50), nullable=False)
addresses = db.relationship('Address', backref='person', lazy=True)
class Address(db.Model):
id = db.Column(db.Integer, primary_key=True)
email = db.Column(db.String(120), nullable=False)
person_id = db.Column(db.Integer, db.ForeignKey('person.id'),
nullable=False)
环境:
- Flask 1.1.2
- Flask-Migrate 2.5.3
- Flask-SQLAlchemy 2.4.3
- SQLAlchemy 1.3.17
- PyCharm 2020.1.1
- Windows 7
解决方案
我设法通过卸载 Flask、Flask-Migrate 和 SQLAlchemy 然后重新安装它们来解决这个问题。
#Uninstall
pip uninstall Flask
pip uninstall Flask-Migrate
pip uninstall SQLAlchemy
#Install
pip install Flask
pip install Flask-Migrate
pip install SQLAlchemy
推荐阅读
- c# - 身份 asp.net 核心 3.0 - 未找到 IdentityDbContext
- mongodb - 选择什么数据库?
- python - 为什么我无法使用 PySpark 连接到 Kafka?获取找不到数据源“kafka”错误
- reactjs - React、Axios 和 Flask - AttributeError: 'NoneType' 对象没有属性 'get'
- node.js - 如何检查某个用户何时使用 socket.io 断开连接?
- python - 如何修复类型错误:需要浮点数?
- azure-sql-database - 目前无法检索此区域的定价配置数据。请重试
- django - Django 中的 ReactJs 返回
- laravel - 使用 axios 拦截器在 vue spa 中应用超时
- python - 需要编写 Python 脚本来自动拖放