请问 django的 Serializer 序列化器传入的数据怎么忽略大小写?

如题,我去网上找了半天找不到这个回答,就感觉好似没有似的,还有为什么问问题还要限制字数啊……

Django的Serializer序列化器支持忽略大小写的字段的校验。可以使用CharField或EmailField的case_sensitive属性设置为False来实现。

例如,对于一个用户名字段,可以这样设置:

Copy code
from django.db import models
class User(models.Model):
    username = models.CharField(max_length=255, unique=True, case_sensitive=False)

这样当验证用户名时,就不会区分大小写了。

如果你使用的是Django Rest Framework,你也可以使用DRF的Serializer来实现。

在自定义Serializer中,可以使用CharField或EmailField并将case_sensitive属性设置为False,就可以忽略大小写。

Copy code
from rest_framework import serializers
class UserSerializer(serializers.Serializer):
    username = serializers.CharField(max_length=255, unique=True, case_sensitive=False)

这样就可以忽略username的大小写,验证的时候就不用考虑大小写了。