DataverseModel Класс

Структурный протокол позволяет передавать и передавать records.create()records.update()экземпляры типизированной сущности.

Реализуйте этот протокол в любом классе сущностей (класс данных, модель Pydantic, ручной свернутый), чтобы он мог передаваться непосредственно в операции CRUD без указания имени таблицы или преобразования в дикт вручную.

Обязательные переменные класса:

  • __entity_logical_name__ — имя логической сущности dataverse (например, "account")

  • __entity_set_name__ — имя набора сущностей OData (например, "accounts")

Обязательные методы экземпляра:

  • to_dict() — возвращать полезные данные записи как dict

  • from_dict(data) — классметод для восстановления из ответа 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

Параметры

Имя Описание
data
Обязательно

to_dict

Возвращает полезные данные записи в виде обычного словаря.

to_dict() -> dict