Python GAE db.Model获取属性而不是字符串值
我有一个db.Model,上面有一个字符串属性,email\u type。现在,我已经在只读类中定义了类型的值。当我将其保存到数据存储时,我得到的是字符串而不是“Register”,它还引发了一个BadValueError。如何将其保存为字符串,而不是属性 以下是(精简)代码:Python GAE db.Model获取属性而不是字符串值,python,google-app-engine,Python,Google App Engine,我有一个db.Model,上面有一个字符串属性,email\u type。现在,我已经在只读类中定义了类型的值。当我将其保存到数据存储时,我得到的是字符串而不是“Register”,它还引发了一个BadValueError。如何将其保存为字符串,而不是属性 以下是(精简)代码: 如果将EmailTypes类更改为如下所示,会发生什么情况: class EmailTypes(object): Register = 'Register' NewsLetter = 'NewsLette
如果将EmailTypes类更改为如下所示,会发生什么情况:
class EmailTypes(object):
Register = 'Register'
NewsLetter = 'NewsLetter'
然后像这样使用它:
e.email_type = EmailTypes.Register
这使简化的示例起作用了吗?如果将EmailTypes类更改为如下所示,会发生什么情况:
class EmailTypes(object):
Register = 'Register'
NewsLetter = 'NewsLetter'
然后像这样使用它:
e.email_type = EmailTypes.Register
这使你的简化示例起作用了吗?Phil的代码对于它试图解决的问题来说似乎过于复杂了。@Adam-这是一个简化的版本-我可以给你实际的问题,但它似乎有些过分了。我真正想知道的是如何返回字符串而不是对属性对象的引用。@威尔-是的,但我需要
寄存器
、时事通讯
和其他只读属性。@Phil-我想你必须发布更复杂的代码,因为你发布的简化示例非常适合我。是的,我会去重做,看看我做错了什么。如果我不能让它工作,我会张贴实际的代码。感谢所有回复的人。菲尔的代码对于它试图解决的问题来说似乎太复杂了。@Adam-这是一个简化的版本-我可以给你实际的问题,但它似乎有些过分了。我真正想知道的是如何返回字符串而不是对属性对象的引用。@威尔-是的,但我需要寄存器
、时事通讯
和其他只读属性。@Phil-我想你必须发布更复杂的代码,因为你发布的简化示例非常适合我。是的,我会去重做,看看我做错了什么。如果我不能让它工作,我会张贴实际的代码。感谢所有回复的人。你发布的代码运行良好。你必须在不同的代码中做一些不同的事情,你实际上正在观察问题,例如e.email\u type=EmailTypes.Register
,而不需要调用类,或者谁知道呢--我们无法通过猜测代码与其他被破坏的代码的区别来调试实际运行良好的代码,对吧?-)看来我把这个问题搞得一团糟。mods能解决这个问题吗?谢谢。你可以编辑这个问题-为什么不直接修复它呢?你发布的代码很好用。你必须在不同的代码中做一些不同的事情,你实际上正在观察问题,例如e.email\u type=EmailTypes.Register
,而不需要调用类,或者谁知道呢--我们无法通过猜测代码与其他被破坏的代码的区别来调试实际运行良好的代码,对吧?-)看来我把这个问题搞得一团糟。mods能解决这个问题吗?谢谢。你可以编辑这个问题-为什么不直接解决它呢?