首页 > 解决方案 > 处理 Flask WTF 中的唯一字段

问题描述

我正在为我的应用程序使用 Flask WTF 并创建了一个表单。我在模型中定义了唯一性。

烧瓶WTFpacket_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 吗?

标签: flaskflask-sqlalchemyflask-wtforms

解决方案


推荐阅读