flask - 处理 Flask WTF 中的唯一字段
问题描述
我正在为我的应用程序使用 Flask WTF 并创建了一个表单。我在模型中定义了唯一性。
烧瓶WTF:
packet_id = StringField("Packet ID", validators=[DataRequired()])
Flask SQL-Alchemy 模型:packet_id = db.Column(db.String(120), unique=True, nullable=False)
并像这样处理它
def validate_packet_id(self, packet_id):
if packet_id.data is None:
raise ValidationError("Name field is required.")
else:
packet = TableName.query.filter_by(packet_id=packet_id.data).first()
if packet:
raise ValidationError('That packet ID already exists. Please choose a different one.')
此代码与 post 方法完美配合,但是当我使用 update 时,它显示 packet_id 已存在的错误。任何人都可以帮助我如何检查数据库中的 packet_id 除了当前行 ID 吗?
解决方案
推荐阅读
- javascript - Ant-Design CSS 未正确加载
- prolog - 从列表中取出项目的问题
- svg - 尝试使用 svg 精灵
- mysql - 如何加入两个表,但只包含右表中的每一行一次?
- swift - 使用用户定义的类
- c# - 如何遍历具有相同类型列表的对象列表并将每个对象添加到 TreeView?
- python - Matplotlib 的底图似乎不存储地图的中心,以便以后对数据进行过度绘制
- javascript - 如何将 JSON 文件数据导入 JS 文件并在 JS 控制台中输出 JSON 数据?
- c# - 如何为数组的第一个和第二个或最后一个和最后一个元素发送电子邮件
- amazon-s3 - 将 ffmpeg 转码结果流式传输到 S3