我们如何在休息框架中的欲望数据库中创建对象

How can we create object in desire database in rest framework

我正在创建项目,但该项目正在保存在默认数据库中。我想在其他数据库中创建该项目...我正在使用 CreatApiView..

class CreateProjectAPIView(generics.CreateAPIView):
    """This endpoint allows for creation of a Project"""
    queryset = Project.objects.using('notification_dev').all()
    serializer_class = serializers.ProjectSerializer

    def get_serializer(self, *args, **kwargs):
        serializer_class = self.get_serializer_class()
        kwargs["context"] = self.get_serializer_context()
        draft_request_data = self.request.data.copy()
        print("draft_request_data :",draft_request_data)
        kwargs["data"] = draft_request_data
        return serializer_class(*args, **kwargs)

我不明白如何在 get_serializer

中使用 .using("otherdataName")

嗯,您不能(或者您不应该)在 get_serializer 中执行数据库操作。

执行流程是这样的:

view.create --> serializer.save --> serializer.create --> model.save

因此,编辑 model.save 函数是首选。唯一的缺点是在 bulk_create 期间,但您没有使用它。

查看 Django 文档中的以下代码:

Model.save(force_insert=False, force_update=False, using=DEFAULT_DB_ALIAS, update_fields=None)¶

所以,更新using会有效率。