【发布时间】:2017-11-01 16:42:48
【问题描述】:
我正在尝试验证这个 BaseProduct 模型,但我对此感到很震惊,有人可以帮我看看吗?是否可以验证? 有什么有效的解决办法吗?
我需要验证CharFiled, DecimalField and ImageField
models.py
class BaseProduct(models.Model):
id = models.AutoField(primary_key=True)
name = models.CharField(max_length=200)
type = models.CharField(max_length=200)
price = models.DecimalField(max_digits=6)
image = models.ImageField(upload_to='', blank="")
def __str__(self):
return '%s' % (self.name)
【问题讨论】:
-
不,您不需要验证
CharField、DecimalField和ImageField!如果您必须验证某些内容,那么就是您定义的字段,无论是name、price、image。我们来看看:image是可选的,你想在这里验证什么?price不应该有一个字符串作为默认值,也不能是一个空字符串。 -
嗨,@cezar 感谢回复,我需要验证姓名、最大长度、最大数字、图像、选择。
-
不,您不需要验证。这就是你使用框架的原因。 Django 负责验证。
-
我如何在这里写方法保存和清理,
-
@cezar 为什么你说 charfield 不需要验证?由于 CharField 可以有任何字符,您需要根据字段的用途来控制输入,即只有字母字符。我不是想争论我只是好奇。 (我知道字段定义为您提供了主要验证)。
标签: django python-3.x validation django-models