#python-3.x #enums #sqlalchemy #model #flask-sqlalchemy
Вопрос:
Я хочу определить модель sqlalchemy с полем перечисления:
import enum from sqlalchemy import SQLAlchemy db.SQLAlchemy() class Animal(enum.Enum): dog = "Dog" cat = "Cat" rabbit = "Rabbit" class Child(db.models): __tablename__ = "child" id = db.Column(db.Integer, primary_key=True) animal = db.Column(db.Enum(Animal))
Если я хочу создать Child
объект, он работает.
child = Child(id=1, animal=Animal.dog)
Но если вы хотите получить все записи, такие как:
childs = Child.query.all()
Я получаю ошибку: LookupError: 'Dog' is not among the defined enum values. Enum name: animal. Possible values: dog, cat, rabbit
.