【发布时间】:2016-04-27 02:25:28
【问题描述】:
我对如何通过以下问题在 Django 中处理多租户存在疑问。我正在制作一个发票应用程序,每个用户独立地添加到产品/客户(等)模型中,然后使用它们来创建发票和库存。
现在,在这种情况下,请注意以下用例:
USER A
Product (Unique on: Key)
Key Name Price Discount Tax Total
Pan Panasonic xxxxx xxxxx xxxxx xxxxx
Sam Samsung xxxxx xxxxx xxxxx xxxxx
Tes Tesla xxxxx xxxxx xxxxx xxxxx
App Apple xxxxx xxxxx xxxxx xxxxx
Cusomer (Unique on: Key)
Key Name Address VAT No Pending Amount
c1 Cust1 abcd 1234 xxxxx
c2 Cust2 xyz 0000 xxxxx
c3 Cust3 pqr 1111 xxxxx
USER B
Product (Unique on: Key)
Key Name Price Discount Tax Total
Pan Panteen xxxxx xxxxx xxxxx xxxxx
Sam Samsung pppp xxxxx ccccc dddd
Tes Tesla xxxxx xxxxx xxxxx xxxxx
App Apple xxxxx aaaa xxxxx bbbb
Cusomer (Unique on: Key)
Key Name Address VAT No Pending Amount
a1 Cust1 abcd 1234 xxxxx
a2 Cust2 xyz 0000 xxxxx
a3 Cust3 pqr 1111 xxxxx
每个用户独立创建这些表的行。例如,每个用户可以使用相同的产品密钥来命名不同的产品,他们也可以拥有具有不同价格/折扣的相同产品等。与客户相同。
并且用户不应该访问表的任何部分,除了他们创建的部分之外(这样用户 A 就不会误触用户 B 的数据)。
现在,我的数据库方案应该是什么?我应该如何进行?
此外,我有一个产品信息和一个客户信息字段,它们会处理唯一字段(即密钥),以让用户访问他们各自的产品/客户页面(他们可以在其中查看和编辑产品/客户数据)。
我打算在部署阶段使用 postgresql。
【问题讨论】:
标签: django postgresql django-models multi-tenant saas