序列化器重写
class UserSerializer(serializers.ModelSerializer):
insert_time = serializers.DateTimeField(format='%Y-%m-%d %H:%M:%S', read_only=True) # read_only:
update_time = serializers.DateTimeField(format='%Y-%m-%d %H:%M:%S', read_only=True)
class Meta:
model = User
fields = '__all__'
def get_default(self):
pass
def create(self, validated_data):
"""
Create and return a new `Snippet` instance, given the validated data.
"""
# 自定义参数处理
validated_data['password'] = hashlib.md5(validated_data['password'].encode(encoding='UTF-8')).hexdigest()
validated_data['insert_time'] = datetime.now().strftime('%Y-%m-%d %H:%M:%S')
validated_data['update_time'] = datetime.now().strftime('%Y-%m-%d %H:%M:%S')
return User.objects.create(**validated_data)
def update(self, instance, validated_data):
"""
Update and return an existing `Snippet` instance, given the validated data.
"""
super().update(instance, validated_data) # 继承父类
# 自定义参数处理
instance.password = hashlib.md5(
validated_data.get('password', instance.password).encode(encoding='UTF-8')).hexdigest()
instance.update_time = datetime.now().strftime('%Y-%m-%d %H:%M:%S')
return instance
OK.