DataverseModel Kelas
Protokol Struktural yang memungkinkan instans entitas yang ditik untuk diteruskan ke records.create() dan records.update().
Terapkan Protokol ini pada kelas entitas apa pun (kelas data, model Pydantic, hand-rolled) untuk memungkinkannya diteruskan langsung ke operasi CRUD tanpa menentukan nama tabel atau mengonversi ke dict secara manual.
Variabel kelas yang diperlukan:
__entity_logical_name__— Nama entitas logis dataverse (misalnya"account")__entity_set_name__— Nama set entitas OData (misalnya"accounts")
Metode instans yang diperlukan:
to_dict()— mengembalikan payload rekaman sebagaidictfrom_dict(data)— classmethod untuk rekonstruksi dari responsdict
Example:
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
Pengiriman langsung (client.records.create(entity) tanpa nama tabel
atau dict) belum didukung dan akan ditambahkan dalam rilis mendatang.
Konstruktor
DataverseModel(*args, **kwargs)
Metode
| from_dict |
Rekonstruksi instans dari kamus respons. |
| to_dict |
Mengembalikan payload rekaman sebagai kamus biasa. |
from_dict
Rekonstruksi instans dari kamus respons.
from_dict(data: dict) -> DataverseModel
Parameter
| Nama | Deskripsi |
|---|---|
|
data
Diperlukan
|
|
to_dict
Mengembalikan payload rekaman sebagai kamus biasa.
to_dict() -> dict