Я использую Flask-SQLAlchemy со многими отношениями.И я пытаюсь удалить текущего пользователя из пользователей, но я получаю только ошибку, как показано в теме.Что я делаю неправильно, я не мог понять.Заранее благодарим за помощь
Мои модели ниже:
subs = db.Table('subs',
db.Column('user_id', db.Integer, db.ForeignKey('user.id')),
db.Column('request_id', db.Integer, db.ForeignKey('request.id'))
)
class User(UserMixin, db.Model):
id = db.Column(db.Integer, primary_key=True)
name = db.Column(db.String(120))
role = db.Column(db.String(120))
password_hash = db.Column(db.String(120))
requests = db.relationship('Request', secondary=subs, backref=db.backref('users', lazy='dynamic'))
class Request(db.Model):
id = db.Column(db.Integer, primary_key=True)
org = db.Column(db.String(120))
user_id = db.Column(db.Integer, db.ForeignKey('user.id'))
cost = db.Column(db.Integer)
created = db.Column(db.DateTime, default= datetime.utcnow)
cost_time = db.Column(db.DateTime, default = datetime.utcnow)
Моя форма для удаления:
class Remove(FlaskForm):
remove = IntegerField('delete request')
submit = SubmitField('delete')
Мой маршрут:
@app.route('/delete', methods = ['GET', 'POST'])
def delete():
form = Remove()
if form.validate_on_submit():
request = Request.query.get(form.remove.data)
request.users.remove(current_user)
db.session.commit()
return redirect('index')
return render_template('remove.html', form=form, id=id)