DataverseModel Classe
Protocolo Estrutural permitindo que instâncias de entidade tipadas sejam passadas para records.create() e records.update().
Implemente este Protocolo em qualquer classe de entidade (dataclass, modelo Pydantic, laminado manualmente) para permitir que ele seja passado diretamente para operações CRUD sem especificar o nome da tabela ou converter em ditado manualmente.
Variáveis de classe necessárias:
__entity_logical_name__— Nome da entidade lógica do dataverse (por exemplo"account")__entity_set_name__— Nome do conjunto de entidades OData (por exemplo"accounts")
Métodos de instância necessários:
to_dict()— retornar o conteúdo do registro comodictfrom_dict(data)— classmethod para reconstruir a partir de uma respostadict
Exemplo:
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
Expedição direta (client.records.create(entity) sem um nome de tabela
ou ditado) ainda não tem suporte e será adicionado em uma versão futura.
Construtor
DataverseModel(*args, **kwargs)
Métodos
| from_dict |
Reconstrua uma instância de um dicionário de resposta. |
| to_dict |
Retornar o conteúdo do registro como um dicionário sem formatação. |
from_dict
Reconstrua uma instância de um dicionário de resposta.
from_dict(data: dict) -> DataverseModel
Parâmetros
| Nome | Description |
|---|---|
|
data
Obrigatório
|
|
to_dict
Retornar o conteúdo do registro como um dicionário sem formatação.
to_dict() -> dict