11.7 其他操作
1.更好的使用枚举
# 状态
_pending = Column('pending', SmallInteger, default=1)
@property
def pending(self):
return PendingStatus(self._pending)
@pending.setter
def pending(self, status):
self._pending = status.value2.撤销操作业务逻辑
@web.route('/drift/<int:did>/redraw')
@login_required
def redraw_drift(did):
with db.auto_commit():
# 横向越权:一个用户访问另一个用户的数据并进行修改
# requester_id=current_user.id 防止横向越权
drift = Drift.query.filter_by(
id=did, requester_id=current_user.id).first_or_404()
drift.pending = PendingStatus.Redraw
current_user.beans += 1
return redirect(url_for('web.pending'))3.拒绝操作业务逻辑
4.完成邮寄
5.撤销赠送
6.撤销心愿
7.赠送书籍
Last updated
Was this helpful?