0
플라시보 및 whooshalchemy를 사용하여 간단한 웹 응용 프로그램에서 전체 텍스트 검색을 구현합니다. 포스트 및 사용자 모델은 다음과 같이 정의된다 :whooshalchemy 인덱싱이 다시 참조로 변경됩니까?
나는 현재 사용자가 포스트post = Post.query.get(pid)
if current_user != post.author:
abort(403)
어떤 이유로
current_user
를 들어
및 post.author
을 편집 할 수 있는지 여부를 검사를 수행하는 몇 가지 관점에서
class Post(db.Model):
__searchable__ = ['body']
id = db.Column(db.Integer, primary_key=True)
body = db.Column(db.Text)
author_id = db.Column(db.Integer, db.ForeignKey('user.id'))
class User(db.Model):
id = db.Column(db.Integer, primary_key=True)
posts = db.relationship('Post', backref='author', lazy='dynamic')
whooshalchemy.whoosh_index(app, Post)
이 동일하지 whooshalchemy.whoosh_index(app, Post)
이 호출되면 개체가 호출됩니다. 그 줄을 주석으로 처리하면 게시물 소유권 테스트가 예상대로 작동합니다.
왜 이런 일이 발생합니까? whooshalchemy 색인 생성은 user
테이블에서로드 된 것과 다른 복사본 post.author
을 생성합니까? 문제를 해결하려면 어떻게해야합니까?