多语言实体的Python应用引擎体系结构

2024-05-29 03:50:42 发布

您现在位置:Python中文网/ 问答频道 /正文

我在appengine中创建了一个名为“Chair”的NDB模型。该模型将具有名称为“蓝色椅子”和“红色椅子”的实体。但是,我希望用户能够以多种语言/地区存储chair属性值。你知道吗

到目前为止,我发现最好的办法就是ndb.KeyProperty属性()在名为“language\u parent”的chair对象和另一个名为“language”的字符串字段上。然后,键属性可以查找到原始椅子实体。你知道吗

这是这种场景的最佳架构吗?你知道吗


Tags: 用户模型实体名称属性language地区蓝色
1条回答
网友
1楼 · 发布于 2024-05-29 03:50:42

假设这是为了用所需的语言显示名称,最好将任何语言字符串存储在实体本身中。例如,可以使用以下格式的属性名称:

name-<ISO 639-5 code>

其中ISO 639-5是语言3 letter(alpha-3)代码的标准。这意味着英文名将存储在一个名为'name eng'的属性中,德语名为'name gem'“名称”本身可以保留为原始/默认/本机语言名称,因此如果未选择任何语言,则始终可以显示直接值。你知道吗

检索实体时,可以直接获取设计的语言属性(如果存在),也可以循环以“name-”开头的属性名,以查找所有可用的语言。你知道吗

对于NDB,您需要使用^{}。可以使用特殊的_properties属性获取属性列表。你知道吗

相关问题 更多 >

    热门问题