DataverseModel Klasse
Strukturelles Protokoll, mit dem typierte Entitätsinstanzen an records.create() und records.update()übergeben werden können.
Implementieren Sie dieses Protokoll für jede Entitätsklasse (Dataclass, Pydantic-Modell, Handrolld), damit es direkt an CRUD-Vorgänge übergeben werden kann, ohne den Tabellennamen anzugeben oder manuell in das Diktieren zu konvertieren.
Erforderliche Klassenvariablen:
__entity_logical_name__— Dataverse logische Entitätsname (z. B."account")__entity_set_name__— Name des OData-Entitätssatzes (z. B."accounts")
Erforderliche Instanzmethoden:
to_dict()— Zurückgeben der Datensatznutzlast alsdictfrom_dict(data)— Klassifikanzmethode zur Wiederherstellung aus einer Antwortdict
Beispiel:
from dataclasses import dataclass
from PowerPlatform.Dataverse import DataverseModel
@dataclass
class Account:
__entity_logical_name__ = "account"
__entity_set_name__ = "accounts"
name: str = ""
telephone1: str = ""
def to_dict(self) -> dict:
return {"name": self.name, "telephone1": self.telephone1}
@classmethod
def from_dict(cls, data: dict) -> "Account":
return cls(
name=data.get("name", ""),
telephone1=data.get("telephone1", ""),
)
# isinstance() works today — Protocol is runtime_checkable:
assert isinstance(Account(), DataverseModel)
# Type your own helpers against the Protocol now:
def save(entity: DataverseModel) -> None:
data = entity.to_dict()
client.records.create(entity.__entity_logical_name__, data)
Hinweis
Direct Dispatch (client.records.create(entity) ohne Tabellennamen
oder diktieren) wird noch nicht unterstützt und wird in einer zukünftigen Version hinzugefügt.
Konstruktor
DataverseModel(*args, **kwargs)
Methoden
| from_dict |
Rekonstruieren einer Instanz aus einem Antwortwörterbuch. |
| to_dict |
Gibt die Datensatznutzlast als einfaches Wörterbuch zurück. |
from_dict
Rekonstruieren einer Instanz aus einem Antwortwörterbuch.
from_dict(data: dict) -> DataverseModel
Parameter
| Name | Beschreibung |
|---|---|
|
data
Erforderlich
|
|
to_dict
Gibt die Datensatznutzlast als einfaches Wörterbuch zurück.
to_dict() -> dict