データストアの読み込みエラー: ネストされた構造体のスライス
データストア エンティティを Python プロジェクトから Go プロジェクトに読み込もうとすると、 「データストア: ネストされた構造体を平坦化すると、スライスのスライスが発生します: フィールド "メッセージ"」というエラーが発生する可能性があります。これは、ロードされたエンティティに入れ子構造と繰り返しフィールドを持つ Python のデータ モデルが含まれている場合に発生しますが、Go では構造体内で複数レベルのスライスを許可していません。
データ モデル定義
Python モデルでは、ModelA クラスは、ModelB が繰り返される LocalStructuredProperty としてメッセージのリストを定義しますが、Go では、ModelA 構造体は Messages フィールドとして ModelB のスライスを持ちます。
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 中国語 Web サイトの他の関連記事を参照してください。