Saya memiliki Enum
kelas Python seperti ini:
from enum import Enum
class Seniority(Enum):
Intern = "Intern"
Junior_Engineer = "Junior Engineer"
Medior_Engineer = "Medior Engineer"
Senior_Engineer = "Senior Engineer"
Dalam database MYSQL, kolom ENUM senioritas memiliki nilai "Intern", "Junior Engineer", "Medior Engineer", "Senior Engineer".
Masalahnya adalah saya mendapatkan kesalahan:
LookupError: "Junior Engineer" is not among the defined enum values
Kesalahan ini terjadi ketika saya memanggil permintaan seperti:
UserProperty.query.filter_by(full_name='John Doe').first()
seniority
adalah properti enum dalam UserProperty
model.
class UserProperty(db.Model):
...
seniority = db.Column(db.Enum(Seniority), nullable=True)
...
Untuk kelas ini saya telah mendefinisikan kelas Skema menggunakan marshmallow
Schema
dan EnumField
dari marshmallow_enum
paket:
class UserPropertySchema(Schema):
...
seniority = EnumField(Seniority, by_value=True)
...
Apa yang harus dilakukan dalam situasi ini, karena saya tidak dapat mendefinisikan nama properti kelas python dengan spasi. Bagaimana cara memaksa python untuk menggunakan nilai properti yang ditentukan alih-alih nama properti?