query_builder Modulo

Generatore di query Fluent per la creazione di query OData.

Fornisce un'interfaccia individuabile e indipendente dai tipi per la compilazione di query complesse su tabelle di Dataverse con concatenamento dei metodi.

Esempio::

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

Classi

ExpandOption

Opzioni strutturate per una $expand proprietà di navigazione.

Consente di specificare le opzioni annidate $select, $filter, $orderbye $top per un'espansione di una singola proprietà di navigazione, seguendo la sintassi OData $expand .

Esempio:


   # 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

Interfaccia Fluent per la compilazione e l'esecuzione di query OData su un client di sincronizzazione.

Fornisce il concatenamento dei metodi per costruire query complesse con espressioni di filtro componibili. Può essere usato autonomo (tramite build()) o associato a un client (tramite execute).

QueryParams

Dizionario tipizzato restituito da QueryBuilder.build().

Fornisce il completamento automatico dell'IDE quando si passano i risultati della compilazione a client.records.list() manualmente.