day84
目录
复习
"""
Serializer类
class MySerializer(Serializer):
usr = serializers.CharField(min_length=3,max_length=10)
pwd = serializers.CharField(min_length=3,max_length=10,write_only=True)
my_usr = serializers.SerializerMethodField(read_only=True)
def get_my_usr(self, obj):
return obj.usr
re_pwd = serializers.CharField(min_length=3,max_length=10,write_only=True)
def validate_usr(self, value):
if 'g' in value.lower():
raise ValidationError('...')
retrun value
def validate(self, attrs):
pwd = attrs.get('pwd')
re_pwd = attrs.pop('re_pwd')
if pwd != re_pwd
raise ValidationError({'re_pwd': '...'})
retrun attrs
自己重写create和update方法,完成增和改的入库操作
ModelSerializer类
class Usr(Model):
@property
def my_usr(self):
return self.usr
class MyModelSerializer(ModelSerializer):
re_pwd = serializers.CharField(min_length=3,max_length=10,write_only=True)
class Meta:
model = Usr
fields = ('usr', 'pwd', 'my_usr', 're_pwd')
extra_kwargs = {
'pwd': {
'write_only': True
}
}
def validate_usr(self, value):
if 'g' in value.lower():
raise ValidationError('...')
retrun value
def validate(self, attrs):
pwd = attrs.get('pwd')
re_pwd = attrs.pop('re_pwd')
if pwd != re_pwd
raise ValidationError({'re_pwd': '...'})
retrun attrs
"""