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

用于多语言实体的Python应用程序引擎体系结构,python,google-app-engine,google-cloud-datastore,data-modeling,app-engine-ndb,Python,Google App Engine,Google Cloud Datastore,Data Modeling,App Engine Ndb,我正在应用程序引擎中创建一个名为“椅子”的NDB模型。该模型将具有名称为“蓝色椅子”和“红色椅子”的实体。但是,我希望用户能够以多种语言/地区存储椅子属性值 到目前为止,我发现最好的方法是在chair对象上有一个名为“language\u parent”的ndb.KeyProperty()和另一个名为“language”的字符串字段。然后,键属性可以查找到原始椅子实体 对于这种类型的场景,这是最好的架构吗 假设这是为了用所需的语言显示名称,最好将任何语言字符串存储在实体本身中。例如,您可以使用以

我正在应用程序引擎中创建一个名为“椅子”的NDB模型。该模型将具有名称为“蓝色椅子”和“红色椅子”的实体。但是,我希望用户能够以多种语言/地区存储椅子属性值

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


对于这种类型的场景,这是最好的架构吗

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

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

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


使用NDB时,您需要使用。您可以使用特殊的
\u properties
属性获取属性列表。

或者您可以使用带有选项的语言字符串属性!这个问题不够清楚。。。请提供您已经定义的NDB模型类的代码示例,然后我可以给您进一步的建议