小天管理 发表于 2024年9月8日 发表于 2024年9月8日 问了半天 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 和解哦。 结果检查,数据库的状态栏的值都是小写的。
已推荐帖子