Python
Keys#
Create / interact with gcloud datastore keys.
- class gcloud.datastore.key.Key(*path_args, **kwargs)[source]#
Bases: object
An immutable representation of a datastore Key.
To create a basic key:
>>> Key('EntityKind', 1234) <Key[{'kind': 'EntityKind', 'id': 1234}]> >>> Key('EntityKind', 'foo') <Key[{'kind': 'EntityKind', 'name': 'foo'}]>
To create a key with a parent:
>>> Key('Parent', 'foo', 'Child', 1234) <Key[{'kind': 'Parent', 'name': 'foo'}, {'kind': 'Child', 'id': 1234}]> >>> Key('Child', 1234, parent=parent_key) <Key[{'kind': 'Parent', 'name': 'foo'}, {'kind': 'Child', 'id': 1234}]>
To create a partial key:
>>> Key('Parent', 'foo', 'Child') <Key[{'kind': 'Parent', 'name': 'foo'}, {'kind': 'Child'}]>
- __init__(*path_args, **kwargs)[source]#
Constructor / initializer for a key.
Parameters: - path_args (tuple of string and integer) – May represent a partial (odd length) or full (even length) key path.
- namespace (string) – A namespace identifier for the key. Can only be passed as a keyword argument.
- dataset_id (string) – The dataset ID associated with the key. Required, unless the implicit dataset ID has been set. Can only be passed as a keyword argument.
- parent (gcloud.datastore.key.Key) – The parent of the key. Can only be passed as a keyword argument.
Constructor / initializer for a key.
Parameters: - path_args (tuple of string and integer) – May represent a partial (odd length) or full (even length) key path.
- namespace (string) – A namespace identifier for the key. Can only be passed as a keyword argument.
- dataset_id (string) – The dataset ID associated with the key. Required, unless the implicit dataset ID has been set. Can only be passed as a keyword argument.
- parent (gcloud.datastore.key.Key) – The parent of the key. Can only be passed as a keyword argument.
- completed_key(id_or_name)[source]#
Creates new key from existing partial key by adding final ID/name.
Parameters: id_or_name (string or integer) – ID or name to be added to the key. Return type: gcloud.datastore.key.Key Returns: A new Key instance with the same data as the current one and an extra ID or name added. Raises: ValueError if the current key is not partial or if id_or_name is not a string or integer.
- flat_path[source]#
Getter for the key path as a tuple.
Return type: tuple of string and integer Returns: The tuple of elements in the path.
- id[source]#
ID getter. Based on the last element of path.
Return type: integer Returns: The (integer) ID of the key.
- id_or_name[source]#
Getter. Based on the last element of path.
Return type: integer (if id) or string (if name) Returns: The last element of the key’s path if it is either an id or a name.
- is_partial[source]#
Boolean indicating if the key has an ID (or name).
Return type: boolean Returns: True if the last element of the key’s path does not have an id or a name.
- kind[source]#
Kind getter. Based on the last element of path.
Return type: string Returns: The kind of the current key.
- name[source]#
Name getter. Based on the last element of path.
Return type: string Returns: The (string) name of the key.
- parent[source]#
The parent of the current key.
Return type: gcloud.datastore.key.Key or NoneType Returns: A new Key instance, whose path consists of all but the last element of current path. If the current key has only one path element, returns None.