这些天我刚刚开始使用mongoengine,需要根据特定情况制作一个字段。
我的文档结构如下(摘录):
class Substance(Document):
title = StringField(unique=True, required=True)
state = StringField(choices=['solid', 'liquid', 'gaseous'], required=True)
specific_gas_constant = FloatField(required=True)
如您所见,specific_gas_constant
被设置为必填字段。
从物理角度来看,specific gas constant仅针对gaseous
物质定义,但不适用于solid
或liquid
物质。但是,有没有办法根据字段state
生成此字段,因为我在field docs中找不到这样的内容?
之前使用python-eve,我能够在端点定义中启用这样的条件要求:
'specific_gas_constant': {
'type': 'number',
'dependencies': {'state': 'gaseous'},
},