使用midd管理Django中的多组应用程序

2024-10-01 07:14:18 发布

您现在位置:Python中文网/ 问答频道 /正文

我对Django很陌生

我和我的团队正在开发Django(vers)。2.1.7和python 3.5.2)应用程序。该应用程序目前由一组人使用(我称之为组a),但其思想是管理几个不同的组(B、C等),以便每个组都只能看到其工作范围下的数据。换句话说,我们必须构建一个多平台体系结构,只有一台服务器、一个域和一个数据库

这样做的琐碎(但又长又无聊)方式可能是这样的:

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

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

我想知道您是否认为有可能构建这样一个中间件,以及您认为它应该如何构造

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

提前谢谢大家,, 祝你今天愉快


Tags: 中间件数据django模型服务器应用程序体系结构方式