utils.models.descriptor module¶
接口描述符
本模块实现模型接口描述符,用于标记模型属性、方法的性质,并提供处理方法。
Note: - 私密性顺序:公开(前端可用) > 前端不可用 > 仅管理员可用(后端相同) > 仅用于调试(命令行) - 接口除字符串方法外均默认公开,即前端可用,后端可用,但可以通过标记接口为私有。 - 字符串方法应为管理员可用
- utils.models.descriptor.export_to_frontend(instance: Model | Any, *, keep_fields: bool = False, recursive: bool = False) object [源代码]¶
将模型实例导出为前端可用的数据结构,仅保留前端允许使用的接口
Args: - instance: 模型实例
Keyword Args: - keep_fields: 是否默认保留字段数据,若为True,则默认保留,否则仅保留方法和属性 - recursive: 是否递归导出,若为True,则关联字段也会被导出,否则仅保留原始模型实例
Returns: - frontend_data: 前端可用的数据结构,移除被标记应替代或删除的字段,后端请勿使用
Warning: - 会访问模型实例的所有属性,关联字段因此会被查询,可能导致性能问题 - 仅支持导出模型实例,不支持导出QuerySet