मेरे पास 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()
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)
...
इस स्थिति में क्या करना है, क्योंकि मैं अंतरिक्ष के साथ अजगर वर्ग की संपत्ति के नाम को परिभाषित नहीं कर सकता। संपत्ति के नामों के बजाय परिभाषित गुणों के मूल्यों का उपयोग करने के लिए अजगर को मजबूर कैसे करें?