具有枚举错误的烧瓶模型导致类型错误:类型 'type' 的对象没有 len()



我正在创建一个瓶模型字段,其枚举值链接到 class so。

class ValueTypes(enum.Enum):
    min = 'min'
    max = 'max'
    optimum = 'opt'
class Param(db.Model):
    # ...
    type = db.Column(db.Enum(ValueTypes), default=ValueTypes.optimum)

并收到这样的错误:

...
  File "/app/venv/lib/python2.7/site-packages/sqlalchemy/sql/sqltypes.py", line 1316, in <genexpr>
length = max(len(x) for x in self.enums)
TypeError: object of type 'type' has no len()

我想要一个由模型层上的枚举值过滤的字段。如何正确执行?还是为什么发生错误?还是我错过了语法中的一些东西?

class Param(db.Model):
    # ...
    type = db.Column(db.Enum("min", "max", "opt", name="ValueTypes"), default="opt")

相关内容

最新更新