使用中间件在django中管理多组应用程序

时间:2019-03-20 17:25:44

标签: python django

我是Django的新手。

我和我的团队正在开发Django(版本2.1.7和python 3.5.2)。该应用程序当前由一组人使用(我将其称为A组),但其想法是管理多个不同的组(B,C等),以便每个组将只能看到数据在他们的范围内。换句话说,我们必须构建一个只有一个服务器,一个域和一个数据库的多平台架构。

这样做的琐碎(但漫长而无聊)的方法可能是这样的:

  1. 向每个相关模型添加一个“平台”字段(并进行迁移),并设置一个等于当前现有平台的默认值。
  2. 更改所有“选择”查询,以便根据当前用户的平台过滤结果。
  3. 更改所有“写入”查询,以便在“平台”列中设置正确的值。

一位同事建议,可以定义一个可以处理第二步和第三步的中间件,但是我很困惑,也不太确定这样做是否可行。我绝对不是Django专家

我想知道您是否认为可以构建这样的中间件,以及您认为应该如何构建它。

如果没有解决方案,我可能会对我提到的“标准”解决方案感到满意。也许可以通过重写模型的save()方法来实现步骤3?如果是这样,我想知道是否有办法以类似的方式完成步骤2。

预先感谢您, 祝你有美好的一天

0 个答案:

没有答案