我无法使用postgresql和sqlalchemy创建枚举列

2024-06-24 13:26:43 发布

您现在位置:Python中文网/ 问答频道 /正文

我在flask和sqlalchemy中创建了下面的代码,以在postgresql数据库中创建一个枚举列,尽管我已经给了它一个名称,但仍然收到以下错误

class ReportModel(db.Model):
    __tablename__ = 'reports'

    id = db.Column(db.Integer, primary_key=True)
    cause = db.Column(db.Enum('Abuse', 'Discrimination', 'Fraud', name='cause'), nullable=False)


错误:

 File "/usr/local/lib/python3.8/site-packages/sqlalchemy/dialects/postgresql/base.py", line 2340, in format_type
   raise exc.CompileError("PostgreSQL ENUM type requires a name.")
sqlalchemy.exc.CompileError: PostgreSQL ENUM type requires a name.

有什么办法解决吗? 我已经试过了所有可能的方法,但没有成功


Tags: 代码nameflaskdbsqlalchemypostgresqltype错误