Tengo una Enum
clase de Python como esta:
from enum import Enum
class Seniority(Enum):
Intern = "Intern"
Junior_Engineer = "Junior Engineer"
Medior_Engineer = "Medior Engineer"
Senior_Engineer = "Senior Engineer"
En la base de datos MYSQL, la columna ENUM de antigüedad tiene valores "Intern", "Junior Engineer", "Medior Engineer", "Senior Engineer".
El problema es que me sale un error:
LookupError: "Junior Engineer" is not among the defined enum values
Este error ha ocurrido cuando llamo consulta como:
UserProperty.query.filter_by(full_name='John Doe').first()
seniority
es propiedad enum en el UserProperty
modelo.
class UserProperty(db.Model):
...
seniority = db.Column(db.Enum(Seniority), nullable=True)
...
Para esta clase, he definido la clase de esquema usando marshmallow
Schema
y EnumField
desde el marshmallow_enum
paquete:
class UserPropertySchema(Schema):
...
seniority = EnumField(Seniority, by_value=True)
...
Qué hacer en esta situación, porque no puedo definir el nombre de propiedad de la clase python con espacio. ¿Cómo forzar a Python a usar valores de propiedades definidas en lugar de nombres de propiedades?