跳转到内容
彼岸论坛
欢迎抵达彼岸 彼岸花开 此处谁在 -彼岸论坛

[Flask] 请教一个 flask 枚举数的问题


小天管理

已推荐帖子

问了半天 ai 也没解决。

class ApprovalStatus(PyEnum):
    PENDING = 'pending'
    APPROVED = 'approved'
    REJECTED = 'rejected'


class Approval(db.Model):
    id = db.Column(db.Integer, primary_key=True)
    content_type = db.Column(db.String(50), nullable=False)
    content_id = db.Column(db.Integer, nullable=False)
    field_name = db.Column(db.String(50), nullable=False)
    new_value = db.Column(db.Text, nullable=False)
    status = db.Column(db.Enum(ApprovalStatus), default=ApprovalStatus.PENDING)
    

    submitter_id = db.Column(db.Integer, db.ForeignKey('user.id'), nullable=False)
    submit_time = db.Column(db.DateTime, default=current_time)
    reviewer_id = db.Column(db.Integer, db.ForeignKey('user.id'))
    review_time = db.Column(db.DateTime, default=current_time)
    review_comment = db.Column(db.Text)

    submitter = db.relationship('User', foreign_keys=[submitter_id])
    reviewer = db.relationship('User', foreign_keys=[reviewer_id])

    __table_args__ = (db.UniqueConstraint('content_type', 'content_id'),)

    @property
    def content(self):
        model = getattr(models, self.content_type)
        return model.query.get(self.content_id)

模型是这样,但是在 flask admin 访问审核这个栏目的时候,总是提示

LookupError: 'pending' is not among the defined enum values. Enum name: approvalstatus. Possible values: PENDING, APPROVED, REJECTED

和解哦。

结果检查,数据库的状态栏的值都是小写的。

意见的链接
分享到其他网站

加入讨论

您现在可以发表并稍后注册. 如果您是会员,请现在登录来参与讨论.

游客
回复主题...

×   粘贴为富文本.   粘贴为纯文本来代替

  只允许使用75个表情符号.

×   您的链接已自动嵌入.   显示为链接来代替

×   您之前的内容已恢复.   清除编辑器

×   您无法直接粘贴图片.要从网址上传或插入图片.

  • 游客注册

    游客注册

  • 会员

  • 最新的状态更新

    没有最新的状态更新
  • 最近查看

    • 没有会员查看此页面.
×
×
  • 创建新的...