
django的models里怎么让decimalfield非负
1个回答
2016-10-26
展开全部
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)
本回答被网友采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?

2025-02-18 广告
在Dr. O.K. Wack Chemie GmbH,我们高度重视ZESTRON的表界面分析技术。该技术通过深入研究材料表面与界面的性质,为提升产品质量与可靠性提供了有力支持。ZESTRON的表界面分析不仅涵盖了相变化、化学反应、吸附与解吸...
点击进入详情页
本回答由ZESTRON提供
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询