首頁 > 後端開發 > Golang > 主體

將資料儲存實體從 Python 載入到 Go 時如何處理嵌套結構錯誤?

Patricia Arquette
發布: 2024-10-25 08:08:28
原創
621 人瀏覽過

How to Handle Nested Struct Errors When Loading Datastore Entities from Python to Go?

將資料儲存實體從Python 載入到Go:了解巢狀結構錯誤

在Google AppEngine 中,嘗試從Python 中讀取資料儲存實體Go 專案可能會導致錯誤:

datastore: flattening nested structs leads to a slice of slices: field "Messages"
登入後複製

根本原因

此錯誤源自於Python 和Go 程式語言之間不相容的資料結構。在提供的Python模型中,ModelA包含重複的ModelB類型的屬性訊息。在 Go 中,ModelA 和 ModelB 都定義了切片字段,從而形成嵌套切片結構。

解決方案

Go 資料儲存包在支援巢狀切片方面受到限制。要解決此問題,必須調整Python 或Go 中的資料結構:

Python 模型調整

  • 將ModelA 中的訊息更改為單一ModelB輸入而不是切片。

進行模型調整

  • 從 ModelA 中刪除切片欄位(即,讓訊息簡單地 ModelB)。
  • 在 ModelA 的 Load 方法中實作自訂解碼邏輯來處理巢狀結構(如提供的 Go 程式碼所示)。

注意事項

  • 選擇在 Python 中解決問題需要重寫現有資料。
  • 在 Go 中實作自訂解碼可能很複雜且容易出錯。

以上是將資料儲存實體從 Python 載入到 Go 時如何處理嵌套結構錯誤?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

來源:php.cn
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
作者最新文章
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板
關於我們 免責聲明 Sitemap
PHP中文網:公益線上PHP培訓,幫助PHP學習者快速成長!