我正在使用pythonanywhere网站进行大学项目,在网站上运行flask代码时出现以下错误:
Mapper mapped class Preferencia->preferencias could not assemble any primary key columns for mapped table 'preferencias'
相同的代码在 vscode 中运行完美,没有出现任何错误。
这是为数据库创建列的烧瓶代码:
from flask import Flask, session, render_template, redirect, url_for, request
from flask_sqlalchemy import SQLAlchemy
app = Flask(__name__)
app.secret_key = '123456'
app.config['SQLALCHEMY_DATABASE_URI'] = 'sqlite:///preferences.sqlite3'
db = SQLAlchemy(app)
app.app_context().push()
class Preferencia(db.Model):
__tablename__ = "data"
id = db.Column(db.Integer, primary_key=True) ## adiciona uma linha para numerar os usuários, eu acho?
nome = db.Column(db.String)
rpg_fav = db.Column(db.String)
tipoJogo = db.Column(db.String)
senha = db.Column(db.String)
def __init__(self, nome, rpg_fav, tipoJogo, senha):
self.nome = nome
self.rpg_fav = rpg_fav
self.tipoJogo = tipoJogo
self.senha = senha
可以肯定的是,我在记事本中打开了数据库,一切看起来都很正常!另外,我已经使用 debug=True 启动了应用程序,以查看它是否有其他错误,但没有任何帮助。
if __name__ == "__main__":
db.create_all()
app.run(debug=True)
如果您将代码作为 Web 应用程序运行,则
if __name__ == '__main__'
中的代码将不会被执行 - 仅当您通过 Python 直接运行该文件时才会执行。