query_builder Módulo

Construtor de consultas fluente para construir consultas OData.

Fornece uma interface segura em termos de tipos e descobrível para construir consultas complexas contra tabelas Dataverse com cadeia de métodos.

Exemplo::

# 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())

Classes

ExpandOption

Opções estruturadas para uma $expand propriedade de navegação.

Permite especificar aninhados , , , e $top opções para uma única expansão de propriedade de navegação, seguindo a sintaxe OData$expand. $orderby$filter$select

Example:


   # 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

Interface fluente para construir e executar consultas OData contra um cliente de sincronização.

Fornece cadeia de métodos para construir consultas complexas com expressões de filtro componíveis. Pode ser usado de forma autónoma (via build()) ou vinculado a um cliente (via execute).

QueryParams

Dicionário digitado devolvido por QueryBuilder.build().

Fornece autocompletar o IDE ao passar manualmente os resultados client.records.list() da compilação.