2024-05-29 03:50:42 发布
网友
我在appengine中创建了一个名为“Chair”的NDB模型。该模型将具有名称为“蓝色椅子”和“红色椅子”的实体。但是,我希望用户能够以多种语言/地区存储chair属性值。你知道吗
到目前为止,我发现最好的办法就是ndb.KeyProperty属性()在名为“language\u parent”的chair对象和另一个名为“language”的字符串字段上。然后,键属性可以查找到原始椅子实体。你知道吗
这是这种场景的最佳架构吗?你知道吗
假设这是为了用所需的语言显示名称,最好将任何语言字符串存储在实体本身中。例如,可以使用以下格式的属性名称:
name-<ISO 639-5 code>
其中ISO 639-5是语言3 letter(alpha-3)代码的标准。这意味着英文名将存储在一个名为'name eng'的属性中,德语名为'name gem'“名称”本身可以保留为原始/默认/本机语言名称,因此如果未选择任何语言,则始终可以显示直接值。你知道吗
检索实体时,可以直接获取设计的语言属性(如果存在),也可以循环以“name-”开头的属性名,以查找所有可用的语言。你知道吗
对于NDB,您需要使用^{}。可以使用特殊的_properties属性获取属性列表。你知道吗
_properties
假设这是为了用所需的语言显示名称,最好将任何语言字符串存储在实体本身中。例如,可以使用以下格式的属性名称:
其中ISO 639-5是语言3 letter(alpha-3)代码的标准。这意味着英文名将存储在一个名为'name eng'的属性中,德语名为'name gem'“名称”本身可以保留为原始/默认/本机语言名称,因此如果未选择任何语言,则始终可以显示直接值。你知道吗
检索实体时,可以直接获取设计的语言属性(如果存在),也可以循环以“name-”开头的属性名,以查找所有可用的语言。你知道吗
对于NDB,您需要使用^{} 。可以使用特殊的
_properties
属性获取属性列表。你知道吗相关问题 更多 >
编程相关推荐