【发布时间】:2021-01-09 10:45:08
【问题描述】:
我想在 Django 中创建一个模型,我可以在其中为给定字段(任务)引入字符值,min_limit=1 和 max_limit=255。 models.py 文件中的代码如下所示:
class ListModel(models.Model):
task = models.CharField(max_length= 255, validators = [MinLengthValidator(1), MaxLengthValidator(255)])
status = models.BooleanField(default=False)
class ListForm(ModelForm):
class Meta:
model = ListModel
fields = ["task", "status"]
现在,如果表单无效,我想显示不同的消息,具体取决于它是因为 max_length>255 还是因为 min_lengthviews.py 中的代码将是这样的文件:
def index(request):
if request.method == 'POST':
form = ListForm(request.POST)
if form.is_valid():
#some code
else:
if max_length > 255:
messages.info(request, ('Maximum length limit: 255 characters!'))
else:
messages.info(request, ('No Task added!')
return redirect('index')
else:
#some code
class MaxLengthValidator(limit_value, message=None)¶
如果长度为 value 大于 limit_value,可能是可调用的。
在documentation 中提到 max_length 是可调用的,但我不确定如何在 views.py 中调用它。当 max_length>255 和 min_length
【问题讨论】:
标签: django django-models django-forms django-validation