dap*_*hez 5 python mongoengine
当使用 EnumField 的 ListField 时,从 MongoEngne 返回的对象中的数据不会转换回 Enum。例如:
class DaysOfTheWeek(Enum):
Mon = 1
Tue = 2
# etc ...
class C(db.Document):
days = db.ListField(db.EnumField(DaysOfTheWeek))
c1 = C(days=[DaysOfTheWeek.Mon])
assert c1.days == [DaysOfTheWeek.Mon] # OK
c1.save()
c2 = C.objects.first()
assert c2.days == [1] # OK
assert c2.days == [DaysOfTheWeek.Mon] # Fails
Run Code Online (Sandbox Code Playgroud)
这是预期的行为吗?我是否错误地使用了 MongoEngine?
我正在使用 MongoEngine 0.22.1。
小智 0
只需更换
assert c2.days == [DaysOfTheWeek.Mon]
Run Code Online (Sandbox Code Playgroud)
和:
assert c2.days == [DaysOfTheWeek.Mon.value]
Run Code Online (Sandbox Code Playgroud)