我正在尝试验证这个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)
答案 0 :(得分:1)
验证是什么意思?您可以进行各种验证,some come built in django或者您可以编写自己的验证,具体取决于您期望的输入类型
同样在您的模型定义中,您有type = models.CharField(max_length=200
,当您的选择最多为5或6个字符时
也许这是一种更好的方法:
PRODUCT_TYPE = (
('n', 'Normal'),
('c', 'Combo'),
)
type = models.CharField(max_length=1#...`
修改强>
正如@cezar指出的那样,字段定义为您提供了主要验证,如CharField:
models.CharField(max_length = 200)将验证输入是否为a 最大长度为200个字符的字符串。它会抛出一个错误 如果输入不是字符串,或者它是一个长于200的字符串 字符