gpt4 book ai didi

python - msgprop.EnumProperty 和 messages.Enum 与 Python 3 和 Cloud NDB 的最佳实践是什么?

转载 作者:行者123 更新时间:2023-12-01 00:08:15 24 4
gpt4 key购买 nike

使用 Python 2 和 NDB,我们可以通过这种方式将 Enum 存储在实体的属性中:

from google.appengine.ext import ndb
from google.appengine.ext.ndb import msgprop
from protorpc import messages

class CoreWebhookService(messages.Enum):
UNKNOWN = 0
AUTH0 = 1

class CoreWebhook(ndb.model):
service = msgprop.EnumProperty(CoreWebhookService, required=True)
url = ndb.StringProperty(required=True)

使用Python 3,基于this guide ,它表示如果您尝试创建这些对象,将会引发 NotImplementedError。 对于 google.appengine.ext.ndb.msgprop.EnumProperty。

我明白了

from google.appengine.ext import ndb

正在被替换

from google.cloud import ndb

但是自从 Enum 尚未实现以来,它的最佳实践是什么?

谢谢

最佳答案

抱歉,我没有测试项目来验证这一点,但 python 3 有枚举。您应该能够直接做一些事情,例如:

from enum import IntEnum

class CoreWebhookService(IntEnum):
UNKNOWN = 0
AUTH0 = 1

class CoreWebhook(ndb.model):
service = IntegerProperty(required = true, choices=list(CoreWebhookService))
url = ndb.StringProperty(required=True)

关于python - msgprop.EnumProperty 和 messages.Enum 与 Python 3 和 Cloud NDB 的最佳实践是什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59807085/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com