query_builder Módulo

Generador de consultas fluent para construir consultas OData.

Proporciona una interfaz detectable y segura para tipos para crear consultas complejas en tablas de Dataverse con encadenamiento de métodos.

Ejemplo::

# Via client (recommended) -- flat iteration over records
from PowerPlatform.Dataverse.models import col


for record in (client.query.builder("account")
               .select("name", "revenue")
               .where(col("statecode") == 0)
               .where(col("revenue") > 1_000_000)
               .order_by("revenue", descending=True)
               .top(100)
               .execute()):
    print(record["name"])


# With composable expression tree
from PowerPlatform.Dataverse.models import col, raw


for record in (client.query.builder("account")
               .select("name", "revenue")
               .where((col("statecode") == 0) | (col("statecode") == 1))
               .where(col("revenue") > 100000)
               .top(100)
               .execute()):
    print(record["name"])


# Lazy paged iteration (one QueryResult per HTTP page)
for page in (client.query.builder("account")
             .select("name")
             .execute_pages()):
    process_batch(page)


# Get results as a pandas DataFrame
df = (client.query.builder("account")
      .select("name", "telephone1")
      .where(col("statecode") == 0)
      .top(100)
      .execute()
      .to_dataframe())

Clases

ExpandOption

Opciones estructuradas para una $expand propiedad de navegación.

Permite especificar opciones anidadas $select, $filter, $orderbyy $top para una sola expansión de propiedades de navegación, siguiendo la sintaxis de OData $expand .

Ejemplo:


   # Expand Account_Tasks with nested options
   opt = (ExpandOption("Account_Tasks")
          .select("subject", "createdon")
          .filter("contains(subject,'Task')")
          .order_by("createdon", descending=True)
          .top(5))

   query = (client.query.builder("account")
            .select("name")
            .expand(opt)
            .execute())
QueryBuilder

Interfaz fluent para compilar y ejecutar consultas de OData en un cliente de sincronización.

Proporciona encadenamiento de métodos para construir consultas complejas con expresiones de filtro compuestas. Se puede usar independiente (a través build()de ) o enlazarse a un cliente (a través de execute).

QueryParams

Diccionario con tipo devuelto por QueryBuilder.build().

Proporciona autocompletar del IDE al pasar los resultados de compilación a client.records.list() manualmente.