对于CharField
,似乎只有max_length
的限制。但是对于TextField()
,是否有办法强制限制其至少要有100个字符?
对于CharField
,似乎只有max_length
的限制。但是对于TextField()
,是否有办法强制限制其至少要有100个字符?
django.core.validators
导入MinLengthValidator
资源,代码如下:
from django.core.validators import MinLengthValidator
要使用此资源,必须按以下方式编写模型:variable = models.TextField(
validators=[
MinLengthValidator(50, 'the field must contain at least 50 characters')
]
)
在声明Django表单时
cell_phone=forms.CharField(max_length=10,min_length=10);
{% render_field form1.cell_phone minlength="10" maxlength="10" %}
Underscore是令人困惑的
对于models.Models
字段的验证:
from django.db.models import TextField
from django.db.models.functions import Length
TextField.register_lookup(Length, 'length')
class Foo(models.Mode):
text_field_name = models.TextField()
class Meta:
constraints = [
models.CheckConstraint(
check=Q(text_field_name__length__gte=10),
name="text_field_name_min_length",
)
]
save()
时调用。这对于CharField
也适用。