我的Django模型中有一个字段code,我必须检查输入字符串是否具有以下属性:
1.长度应为5个字符
1.第1个和第2个字符应为字母
1.第3和第4个字符应为数字
1.第5个字符应为E或N
我有一个如下所示的序列化器,它满足第一个条件。
class MyModelSerializer(serializers.ModelSerializer):
code = serializers.CharField(max_length=5, min_length=5)
class Meta:
model = MyModel
fields = '__all__'
如何满足其余条件?
1条答案
按热度按时间o2g1uqev1#
其余条件可以通过添加自定义验证器和使用regex来满足。
函数
validate_code
的名称在序列化器中不是强制性的。您可以随意命名它,只要它以单词“validate”开头并接受一个value参数。value参数表示正在验证的字段的值。下面是关于上面使用的正则表达式模式的一些深入信息。
[A-Za-z]{2}
匹配任意两个字母字符,确保第一个和第二个字符是字母\d{2}
匹配任意两个数字字符,确保第三和第四个字符是数字[EN]
匹配E或N,确保第五个字符为E或N