DataverseModel Classe
Protocole structurel permettant aux instances d’entité typées d’être passées à records.create() et records.update().
Implémentez ce protocole sur n’importe quelle classe d’entité (dataclass, modèle Pydantic, roulé manuellement) pour lui permettre d’être transmis directement aux opérations CRUD sans spécifier le nom de la table ou convertir manuellement en dict.
Variables de classe requises :
__entity_logical_name__— Nom d’entité logique Dataverse (par exemple"account")__entity_set_name__— Nom du jeu d’entités OData (par exemple"accounts")
Méthodes d’instance requises :
to_dict()— retourner une charge utile d’enregistrement en tant quedictfrom_dict(data)— classmethod à reconstruire à partir d’une réponsedict
Exemple :
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)
Note
Distribution directe (client.records.create(entity) sans nom de table
ou dict) n’est pas encore pris en charge et sera ajouté dans une version ultérieure.
Constructeur
DataverseModel(*args, **kwargs)
Méthodes
| from_dict |
Reconstruire une instance à partir d’un dictionnaire de réponses. |
| to_dict |
Retourne la charge utile d’enregistrement en tant que dictionnaire brut. |
from_dict
Reconstruire une instance à partir d’un dictionnaire de réponses.
from_dict(data: dict) -> DataverseModel
Paramètres
| Nom | Description |
|---|---|
|
data
Obligatoire
|
|
to_dict
Retourne la charge utile d’enregistrement en tant que dictionnaire brut.
to_dict() -> dict