python - 检查值是否满足 Django 模型的条件
问题描述
假设我有 django 模型:
class Data(models.Model):
name = models.CharField(max_length=50, blank=False)
some_number = models.DecimalField(max_digits=6, blank=False)
optional_field = models.CharField(max_length=20)
我正在尝试验证数据列表是否满足模型的条件。假设我有这个列表:
myData = [
['bob', 25.22, None], #should pass
['jane', 123.45678, "foo"], #should fail some_number max_digits=6
[None, 25.22, "bar"] #should fail name blank=False
]
是否有一种干净快速的方法来测试每一行是否会通过或失败,并且如果失败,还可以获得哪个条件不满足?
解决方案
我认为您可以基于 Data 模型制作ModelForm ,然后将数据提供给该表单。该表单将验证给定的数据并在必要时输出任何错误(带有描述)。如果您不想将给定的数据保存到数据库中,只需覆盖 ModelForm save() 方法,这样它就不会做任何事情。
推荐阅读
- unit-testing - 带有 test-utils 的 vue.js 测试单元未通过
- ruby-on-rails - 在 Rails 中默认使用 postgres
- r - r中的行随机抽样
- java - 使用扫描仪进行嵌套方法测试
- r - 计数同时满足这两个条件的 ID
- python - 在 For 循环内循环时,在计数器索引 Python 处跳回 For 循环
- android - 如何在活动处于前台时捕获活动中的 FCM 通知?
- windows-subsystem-for-linux - WSL 上的 Ubuntu 18.04 发行版无法通过配置命令设置默认用户
- java - 占位符在 application.yml 中找不到数据数组
- python - Conda 无法使用 Python 3.7 安装 Anaconda 发行版