我正在尝试从我的数据库中删除数据,但我的 Web 应用程序返回此错误:
File "C:\Users\q\Pyc\Flask\basic_of_flask\SQL Database with flask\Database in view\adoption_sit.py", line 78, in del_pup
pup = db.session.get(id)
AttributeError: 'scoped_session' object has no attribute 'get'
看看下面我的代码
import os
from flask import Flask, redirect, render_template, url_for
from flask_migrate import Migrate
from flask_sqlalchemy import SQLAlchemy
from form import AddForm, DelForm
app = Flask(__name__)
app.config['SECRET_KEY'] = 'mysecretkey'
#######################################
#### SQL DATABASE SECTION #############
#######################################
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)
########################################
######## Models ########################
########################################
class Puppy(db.Model):
__tablename__ = 'puppies'
id = db.Column(db.Integer, primary_key=True)
name = db.Column(db.Text)
def __init__(self, name):
self.name = name
def __repr__(self):
return f"Puppy name is {self.name}."
#############################################
##### VIEW FUNCTIONS -- HAVE FORM ###########
#############################################
@app.route('/')
def index():
return render_template('home.html')
@app.route('/add', methods=['GET', 'POST'])
def add_pup():
form = AddForm()
if form.validate_on_submit():
name = form.name.data
new_puppy = Puppy(name)
db.session.add(new_puppy)
db.session.commit()
return redirect(url_for('list_pup'))
return render_template('add.html', form=form)
@app.route('/list_pup')
def list_pup():
puppies = Puppy.query.all()
return render_template('list.html', puppies=puppies)
烙印99
相关分类