【发布时间】:2020-06-25 06:58:58
【问题描述】:
我有一个 django 项目,我正在尝试制作一个基于客户的杂货系统。在这里,我为每个客户提供不同的数据库。 每个数据库都包含订单历史记录以及所有其他详细信息,例如联系方式等。
我将获得一个 url 参数以通过 customer_id 识别客户,并且我将能够获得要使用的数据库,即数据库名称。代码 -
型号-
class Company(models.Model):
company_id = models.IntegerField(primary_key = True)
name = models.CharField(max_length=256, blank=True, null=True)
db_name = models.CharField(max_length=200, blank=True, null=True)
db_uuid = models.CharField(max_length=100, blank=True, null=True)
objects = DataFrameManager()
def __str__(self):
return self.name
查看文件-
@api_view(['GET', 'POST'])
def page(request, uuid):
if request.method == 'GET':
rtrn = Company.objects.filter(db_uuid=uuid).values('db_name')
return Response(rtrn)
网址文件-
urlpatterns = [
url(r'user/(?P<uuid>[a-zA-Z0-9-]+)/$', page, name="getfromurl"),
]
这里我将返回数据库名称。
但我无法理解和实现数据库的更改。让我用一个例子让你明白-
假设客户名称 Gaurav 有 db 'gaurav_groceries'。通过代码,我得到了名字 - gaurav_groceries。但是在 setting.py 中,我将默认数据库添加为“grocies”,那么如何使用 db 的这种动态特性,即在这种情况下我们有“gaurav_groceries”,用于进一步计算和编码。
谢谢
【问题讨论】:
标签: django database django-models django-rest-framework