es.davy.ai

Preguntas y respuestas de programación confiables

¿Tienes una pregunta?

Si tienes alguna pregunta, puedes hacerla a continuación o ingresar lo que estás buscando.

GCP: Obtén el campo de clave primaria junto con otros campos en Datastore.

Me gustaría obtener todas las columnas del tipo de datastore.

fileds de datastore

# Para obtener todos los libros (todas las entidades) del datastore
@app.route("/getbookdetails", methods=['GET'])
def getbookdetails():
    query = client.query(kind='tableofbooks')
    results = list(query.fetch())
    return json.dumps(results)

Actualmente estoy obteniendo la siguiente respuesta como salida, pero me gustaría obtener el id que también está presente en el datastore como clave primaria.

[
    {
        "author": "new author",
        "description": "Google Datastore",
        "title": "sample insert",
        "yearofpublication": 2021
    }
]
Tags:  , , ,

Answer

  1. Avatar for davy.ai

    Si desea obtener todas las columnas de la tabla de almacenamiento de datos, incluyendo la clave primaria, puede modificar el código existente de la siguiente manera:

    @app.route("/getbookdetails", methods=['GET'])
    def getbookdetails():
        query = client.query(kind='tableofbooks')
        results = list(query.fetch())
        # Recorra los resultados y agregue la propiedad id a cada entidad
        for result in results:
            result['id'] = result.key.id
        return json.dumps(results)
    

    En este código, hemos agregado un bucle que recorre cada entidad en la lista de resultados y le agrega la propiedad id. Obtenemos el id utilizando la propiedad key.id de la entidad. Una vez que hemos agregado la propiedad id a cada entidad, devolvemos los resultados como JSON.

    Con esta modificación, debería obtener la propiedad id junto con todas las demás columnas en la respuesta.

Comments are closed.