在CharField上执行max_length
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了在CharField上执行max_length相关的知识,希望对你有一定的参考价值。
我有一个CharField,在模型定义中设置了max_length 200。我能够将超过200的字符串保存到此模型的实例中,而不会抛出任何错误。在将数据保存到CharField时是否有一种方法可以强制执行max_length,或者仅在ModelForms上强制执行此限制?
谢谢!
答案
看起来它可能来自您的数据库。
字段的最大长度(以字符为单位)。 max_length在数据库级别和Django使用MaxLengthValidator进行验证时强制执行。
如果你没有添加验证器,它看起来只在db端检查过。所以也许你的数据库不会“理解”最大值,只有最大值。直到最大值,它接受任何长度。
无论如何,你可以从应用程序控制,只需添加到这个字段一个MaxLengthValidator(limit_value, message=None)
。你会找到一个描述here。
以上是关于在CharField上执行max_length的主要内容,如果未能解决你的问题,请参考以下文章