# models.descriptors.descriptors ## PydanticDescriptor Objects ```python class PydanticDescriptor() ``` Pydantic descriptor simply delegates everything to pydantic model ## JsonDescriptor Objects ```python class JsonDescriptor() ``` Json descriptor dumps/loads strings to actual data on write/read ## BytesDescriptor Objects ```python class BytesDescriptor() ``` Bytes descriptor converts strings to bytes on write and converts bytes to str if represent_as_base64_str flag is set, so the value can be dumped to json ## PkDescriptor Objects ```python class PkDescriptor() ``` As of now it's basically a copy of PydanticDescriptor but that will change in the future with multi column primary keys ## RelationDescriptor Objects ```python class RelationDescriptor() ``` Relation descriptor expands the relation to initialize the related model before setting it to __dict__. Note that expanding also registers the related model in RelationManager. ## PropertyDescriptor Objects ```python class PropertyDescriptor() ``` Property descriptor handles methods decorated with @property_field decorator. They are read only.