我有一个字段的模型(这是合成示例):
model Tank:
oxygen = models.PositiveSmallIntegerField(
_("Oxygen %"),
help_text="%",
default=21,
validators=[MinValueValidator(21.0), MaxValueValidator(50.0)],
null=True,
)
我用数据解析一些文件。我想在编写模型实例之前验证输入数据。像这样的东西
oxygen = get_raw_data()
Tank.oxygen.validate(oxygen) # this is wrong I know :)
# if value is valid do something
# else do something
我应该写什么而不是 Tank.oxygen.validate(oxygen)?我可以在保存模型实例时复制验证逻辑或验证数据,但也许有人知道更好的解决方案。