首页 > 解决方案 > 将实体键转换为 urlsafe 字符串

问题描述

这个问题与“数据存储模式”中的新 Cloud Firestore 有关。

在旧的 ndb 数据存储中,很容易将实体键转换为 url_safe 字符串:

entity.key.urlsafe()

但这不适用于新的“数据库模式”。

如何将实体键转换为 urlsafe 字符串?

标签: google-app-enginegoogle-cloud-datastore

解决方案


可以使用(from|to)_legacy_urlsafe()方法:

从实体键到 urlsafe 字符串:

my_entity_key = Key('SomeKind', 'id_123')
urlsafe_string = my_entity_key.to_legacy_urlsafe()

从 urlsafe 字符串到实体键:

from google.cloud import datastore

entity_key = datastore.Key.from_legacy_urlsafe(urlsafe_string)

推荐阅读