![](/img/trans.png)
[英]I am getting an ```AttributeError: 'int' object has no attribute 'cityArray'```
[英]I am getting "AttributeError: 'int' object has no attribute 'filter'
我希望這能夠過濾當前用戶的帖子並將其刪除。 有人告訴我使用.WHERE 而不是.FILTER,但它們都不起作用,我得到一個屬性錯誤。 我怎樣才能得到這個工作?
順便說一句,我可以使用db.session.query(Post).delete()
刪除所有用戶帖子,但我想要它,所以它只刪除 CURRENT_USER.ID 的帖子(當前登錄到我的會話的用戶)
我添加了我當前的模型:
@login_required
def delete_all_post():
if current_user.is_authenticated:
db.session.query(Post).delete().filter(Post.user_id == current_user.id)
db.session.commit()
flash('All of your posts has been deleted!', 'success')
return redirect(url_for('main.home'))```
class Post(db.Model):
id = db.Column(db.Integer, primary_key=True)
title = db.Column(db.String(100), nullable=False)
date_posted = db.Column(db.DateTime, nullable=False, default=datetime.utcnow)
content = db.Column(db.Text, nullable=False)
user_id = db.Column(db.Integer, db.ForeignKey('user.id'), nullable=False)
def __repr__(self):
return f"Post('{self.title}', {self.date_posted}')"
class User(db.Model, UserMixin):
id = db.Column(db.Integer, primary_key=True)
username = db.Column(db.String(16), unique=True, nullable=False)
email = db.Column(db.String(120), unique=True, nullable=False)
image_file = db.Column(db.String(20), nullable=False, default='default.jpg')
password = db.Column(db.String(60), nullable=False)
posts = db.relationship('Post', backref='author', lazy=True)
delete()
返回 True/False 這是 0 或 1 這是int
所以你不能過濾它
嘗試: db.session.query(Post).filter(Post.user_id == current_user.id).delete()
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.