数据存储加载错误:嵌套结构中的切片
尝试将数据存储实体从 Python 项目加载到 Go 项目时,您可能会遇到错误:“数据存储:展平嵌套结构会导致切片切片:字段“消息””。当加载的实体包含 Python 中具有嵌套结构和重复字段的数据模型时,会发生这种情况,而 Go 不允许结构中存在多个级别的切片。
数据模型定义
在 Python 模型中,ModelA 类将消息列表定义为带有重复 ModelB 的 LocalStructuredProperty,而在 Go 中,ModelA 结构体有一个 ModelB 的切片作为 Messages 字段。
Python:
<code class="python">class ModelA(ndb.Model): ... messages = ndb.LocalStructuredProperty(ModelB, name='bm', repeated=True)</code>
Go:
<code class="go">type ModelA struct { ... Messages []ModelB `datastore:"bm,"` }</code>
故障排除
出现错误是因为 Go 不不允许结构中嵌套切片。因此,您需要修改数据结构以符合 Go 的要求。
选项:
以上是以下是一些适合文章内容的基于问题的标题: **一般的的详细内容。更多信息请关注PHP中文网其他相关文章!