私は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列に「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)
...
スペースでpythonクラスプロパティ名を定義できないので、この状況で何をすべきか。Pythonにプロパティ名の代わりに定義されたプロパティの値を使用させるにはどうすればよいですか?