使用django-rest-framework的多租户问题

时间:2017-02-14 17:18:47

标签: python django django-rest-framework

我们有一个问题是使用Django和django-rest-framework制作多租户SaaS应用程序。

我们希望根据url路由到正确的数据库,并使用django-rest-framework序列化器。

但是使用django-rest-framework,我们无法使用序列化程序指定要保存的数据库。我们可以通过覆盖get_queryset方法和using(<database>)函数来请求数据。

class SomeSerializer(serializers.ModelSerializer):
    def get_queryset(self):
        return SomeModel.objects.using(self.database)

如果我们想将实例保存到自定义数据库,我们无法使用ModelSerializer,我们必须使用Serializer类编写每个序列化程序。
我们可以发出拉取请求,将选项添加到django-rest-framework Multiple databases support #65 - django-rest-framework

或者,我们可以执行类似于此代码段的操作:Database Routing by URL,它已经很老了(2010年),但仍然有效。但是我们对使用本地线程传输变量的想法不太满意。

2017年我们如何正确地做到这一点?还有其他选择吗?

0 个答案:

没有答案