У меня есть Enum
класс Python, как это:
from enum import Enum
class Seniority(Enum):
Intern = "Intern"
Junior_Engineer = "Junior Engineer"
Medior_Engineer = "Medior Engineer"
Senior_Engineer = "Senior Engineer"
В базе данных MYSQL столбец старшинства ENUM имеет значения «Стажер», «Младший инженер», «Младший инженер», «Старший инженер».
Проблема в том, что я получаю ошибку:
LookupError: "Junior Engineer" is not among the defined enum values
Эта ошибка произошла, когда я вызываю запрос как:
UserProperty.query.filter_by(full_name='John Doe').first()
seniority
свойство enum в UserProperty
модели.
class UserProperty(db.Model):
...
seniority = db.Column(db.Enum(Seniority), nullable=True)
...
Для этого класса я определил класс Schema, используя marshmallow
Schema
и EnumField
из marshmallow_enum
пакета:
class UserPropertySchema(Schema):
...
seniority = EnumField(Seniority, by_value=True)
...
Что делать в этой ситуации, потому что я не могу определить имя свойства класса Python с пробелом. Как заставить Python использовать значения определенных свойств вместо имен свойств?