我正在使用get_query分隔每个用户的记录来过滤记录。
def get_query(self):
return self.session.query(self.model).filter(self.model.userid == current_user.id)
但是当用户直接在url中键入过滤记录的ID时,它不能解决问题。如何避免这种情况?预先感谢。
您需要覆盖视图的get_one
方法。请参阅文档中有关get_query和get_one的注释。
示例,假设使用SQLAlchemy:
def TestView(ModelView):
def get_query(self):
return self.session.query(self.model).filter(self.model.userid == current_user.id)
def get_count_query(self):
self.session.query(func.count('*')).select_from(self.model).filter(self.model.userid == current_user.id)
def get_one(self, id):
query = self.get_query()
return query.filter(self.model.id == id).one()