如何为MongoEngine模型中的字段添加描述或提示信息?
MongoEngine 字段添加描述的实现方法
MongoEngine 原生支持为字段添加描述信息,不需要仅依赖代码注释实现:
- 官方原生提供
help_text字段参数,专门用于存储字段说明文本,大部分基于 MongoEngine 的自动文档生成工具也会自动读取该参数生成接口说明。 - 支持传入自定义参数存储更多维度的字段说明,自定义参数会自动保存在字段的
extra属性中。
代码示例
1. 基础字段描述用法
from mongoengine import Document, StringField, IntField class User(Document): # 直接在字段定义中添加 help_text 参数 third_party_id = StringField(help_text="用户绑定的第三方平台唯一标识,仅微信/支付宝授权时赋值") age = IntField(min_value=0, max_value=120, help_text="用户实足年龄,按身份证生日计算,未实名认证时为Null")
2. 运行时读取字段描述
通过模型的 _fields 属性即可获取所有字段的配置信息:
# 读取指定字段的help_text print(User._fields['third_party_id'].help_text) # 输出:用户绑定的第三方平台唯一标识,仅微信/支付宝授权时赋值
3. 自定义扩展字段描述
如果需要存储枚举说明、编辑权限等额外属性,可以直接传入自定义参数:
class Order(Document): status = IntField( choices=((0, "待支付"), (1, "已支付"), (2, "已取消")), help_text="订单状态", # 自定义参数,存储枚举值详细说明 enum_detail={ 0: "用户创建订单未付款,15分钟后自动取消", 1: "用户付款成功,待商家发货", 2: "用户主动取消/超时自动取消,退款已原路返回" }, editable=False ) # 读取自定义属性 print(Order._fields['status'].extra['enum_detail'])
内容的提问来源于stack exchange,提问作者pfizer
相关产品推荐
相关产品推荐

