django的models里怎么让decimalfield非负
答案:1 悬赏:20
解决时间 2021-02-19 08:09
- 提问者网友:傀儡离开
- 2021-02-18 19:52
django的models里怎么让decimalfield非负
最佳答案
- 二级知识专家网友:猖狂的痴情人
- 2021-02-18 21:31
django的models里怎么让decimalfield非负
charfield是对应数据库的varchar的,数据库是木有最小长度限制的。。
如果你是正常程序访问,你直接程序判断就行了,或者省事点,有个属性叫validators,是传校验方法的集合,可以研究下,加个方法进去。下面这个是具体校验的源码
校验组合部分,由默认校验+自定义校验
self.validators = self.default_validators + validators
下面是具体调用部分,value显然就是录入的值
def run_validators(self, value):
if value in validators.EMPTY_VALUES:
return
errors = []
for v in self.validators:
try:
v(value)
except exceptions.ValidationError, e:
if hasattr(e, 'code') and e.code in self.error_messages:
message = self.error_messages[e.code]
if e.params:
message = message % e.params
errors.append(message)
else:
errors.extend(e.messages)
if errors:
raise exceptions.ValidationError(errors)
charfield是对应数据库的varchar的,数据库是木有最小长度限制的。。
如果你是正常程序访问,你直接程序判断就行了,或者省事点,有个属性叫validators,是传校验方法的集合,可以研究下,加个方法进去。下面这个是具体校验的源码
校验组合部分,由默认校验+自定义校验
self.validators = self.default_validators + validators
下面是具体调用部分,value显然就是录入的值
def run_validators(self, value):
if value in validators.EMPTY_VALUES:
return
errors = []
for v in self.validators:
try:
v(value)
except exceptions.ValidationError, e:
if hasattr(e, 'code') and e.code in self.error_messages:
message = self.error_messages[e.code]
if e.params:
message = message % e.params
errors.append(message)
else:
errors.extend(e.messages)
if errors:
raise exceptions.ValidationError(errors)
我要举报
如以上问答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
推荐资讯