DataverseModel 類別

結構協定允許將類型化實體實例傳遞給 records.create()records.update()

將此協定實作於任何實體類別(資料類別、Pydantic 模型、手動捲入)上,使其能直接傳遞給 CRUD 操作,無需指定資料表名稱或手動轉換成 dict。

必備類別變數:

  • __entity_logical_name__— 資料宇宙邏輯實體名稱(例如 ) "account"

  • __entity_set_name__ — OData 實體集合名稱(例如 "accounts"

所需的實例方法:

  • to_dict() — 回傳記錄有效載荷為 dict

  • from_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