मेरे पास Enumइस तरह का पायथन वर्ग है:
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()
seniorityUserPropertyमॉडल में संपत्ति है ।
class UserProperty(db.Model):
...
seniority = db.Column(db.Enum(Seniority), nullable=True)
...
इस वर्ग के लिए मैंने स्कीमा वर्ग को पैकेज के उपयोग से marshmallow Schemaऔर परिभाषित किया है :EnumFieldmarshmallow_enum
class UserPropertySchema(Schema):
...
seniority = EnumField(Seniority, by_value=True)
...
इस स्थिति में क्या करना है, क्योंकि मैं अंतरिक्ष के साथ अजगर वर्ग की संपत्ति के नाम को परिभाषित नहीं कर सकता। संपत्ति के नामों के बजाय परिभाषित गुणों के मूल्यों का उपयोग करने के लिए अजगर को मजबूर कैसे करें?