Tôi có Enum
lớp Python như thế này:
from enum import Enum
class Seniority(Enum):
Intern = "Intern"
Junior_Engineer = "Junior Engineer"
Medior_Engineer = "Medior Engineer"
Senior_Engineer = "Senior Engineer"
Trong cơ sở dữ liệu MYSQL, cột ENUM thâm niên có các giá trị "Thực tập sinh", "Kỹ sư trẻ", "Kỹ sư trung gian", "Kỹ sư cao cấp".
Vấn đề là tôi gặp lỗi:
LookupError: "Junior Engineer" is not among the defined enum values
Lỗi này đã xảy ra khi tôi gọi truy vấn như:
UserProperty.query.filter_by(full_name='John Doe').first()
seniority
là tài sản enum trong UserProperty
mô hình.
class UserProperty(db.Model):
...
seniority = db.Column(db.Enum(Seniority), nullable=True)
...
Đối với lớp này, tôi đã xác định lớp Schema bằng cách sử dụng marshmallow
Schema
và EnumField
từ marshmallow_enum
gói:
class UserPropertySchema(Schema):
...
seniority = EnumField(Seniority, by_value=True)
...
Phải làm gì trong tình huống này, vì tôi không thể định nghĩa tên thuộc tính của lớp python có khoảng trắng. Làm thế nào để buộc python sử dụng các giá trị của các thuộc tính được xác định thay vì tên thuộc tính?