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

"""
posted @ 2019-12-30 08:15  Isayama  阅读(156)  评论(0编辑  收藏  举报