我想澄清django-rest-framework
有关创建模型对象的给定文档。到目前为止,我发现有3种方法来处理此类事件。
序列化器的
create()
方法。这是文档class CommentSerializer(serializers.Serializer): def create(self, validated_data): return Comment.objects.create(**validated_data)
ModelViewset
create()
方法。文献资料class AccountViewSet(viewsets.ModelViewSet): queryset = Account.objects.all() serializer_class = AccountSerializer permission_classes = [IsAccountAdminOrReadOnly]
ModelViewset
perform_create()
方法。文献资料class SnippetViewSet(viewsets.ModelViewSet): def perform_create(self, serializer): serializer.save(owner=self.request.user)
这三种方法很重要,具体取决于您的应用程序环境。
但是什么时候我们需要使用每个create() / perform_create()
函数?另一方面,我发现有人要求为单个发布请求调用modelviewsetcreate()
和serializer的两个create方法create()
。
希望任何人都可以分享他们的一些知识来进行解释,这肯定会对我的开发过程有所帮助。
create(self, validated_data)
序列化程序,这意味着它专注于数据验证逻辑吗?还有更多可以帮助将给定的序列化器的数据返回给响应的权利吗?