다음 Enum
과 같은 Python 클래스 가 있습니다 .
from enum import Enum
class Seniority(Enum):
Intern = "Intern"
Junior_Engineer = "Junior Engineer"
Medior_Engineer = "Medior Engineer"
Senior_Engineer = "Senior Engineer"
MYSQL 데이터베이스에서 seniority ENUM 열의 값은 "Intern", "Junior Engineer", "Medior Engineer", "Senior Engineer"입니다.
문제는 오류가 발생한다는 것입니다.
LookupError: "Junior Engineer" is not among the defined enum values
이 오류는 다음과 같은 쿼리를 호출 할 때 발생했습니다.
UserProperty.query.filter_by(full_name='John Doe').first()
seniority
UserProperty
모델의 열거 형 속성입니다 .
class UserProperty(db.Model):
...
seniority = db.Column(db.Enum(Seniority), nullable=True)
...
이 클래스를 위해 나는 사용하여 스키마 클래스를 정의한 marshmallow
Schema
과 EnumField
에서 marshmallow_enum
패키지 :
class UserPropertySchema(Schema):
...
seniority = EnumField(Seniority, by_value=True)
...
공백으로 파이썬 클래스 속성 이름을 정의 할 수 없기 때문에이 상황에서해야 할 일. 파이썬이 속성 이름 대신 정의 된 속성 값을 사용하도록 강제하는 방법은 무엇입니까?