使字段仅在某些条件下是必需的

2024-10-04 11:23:47 发布

您现在位置:Python中文网/ 问答频道 /正文

这几天我刚开始使用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物质,而不是solidliquid物质。但是,有没有一种方法使这个字段基于字段state成为必需的,因为我在field docs中没有找到类似的内容?你知道吗

在使用python-eve之前,我能够在端点定义中启用这样的条件需求:

'specific_gas_constant': {
    'type': 'number',
    'dependencies': {'state': 'gaseous'},
},

Tags: 文档true定义requiredmongoenginestategas物质