在Django DRF中,我可以向一个序列化器添加以下方法:
def create(self, validated_data):
user = User(
email=validated_data['email'],
username=validated_data['username']
)
user.set_password(validated_data['password'])
user.save()
return user
在发现这个方法之前,我以为通常需要在视图中通过覆盖View/ViewSet方法来完成此操作。
我曾认为序列化器的全部作用就是将数据转换并发送到外部调用或从外部接收数据。
有人可以向我解释在视图和序列化器中完成此操作的区别吗?
更广泛地说,在序列化器上调用方法的好处是什么,而不是在其他地方调用呢?