DataverseModel 類別
結構協定允許將類型化實體實例傳遞給 records.create() 和 records.update()。
將此協定實作於任何實體類別(資料類別、Pydantic 模型、手動捲入)上,使其能直接傳遞給 CRUD 操作,無需指定資料表名稱或手動轉換成 dict。
必備類別變數:
__entity_logical_name__— 資料宇宙邏輯實體名稱(例如 )"account"__entity_set_name__— OData 實體集合名稱(例如"accounts")
所需的實例方法:
to_dict()— 回傳記錄有效載荷為dictfrom_dict(data)— classmethod 用來從回應重建dict
範例:
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
直接派遣(client.records.create(entity)但無資料表名稱
或 dict)尚未支援,未來版本將加入。
建構函式
DataverseModel(*args, **kwargs)
方法
| from_dict |
從回應字典重建一個實例。 |
| to_dict |
將記錄有效載荷回傳為普通字典。 |
from_dict
從回應字典重建一個實例。
from_dict(data: dict) -> DataverseModel
參數
| 名稱 | Description |
|---|---|
|
data
必要
|
|
to_dict
將記錄有效載荷回傳為普通字典。
to_dict() -> dict