我有大量的数据集.每组数据包括几个数据库表.数据库表集的模式是相同的.每组表可以有超过一百万行.每组数据属于一个作业,作业之间没有关系.一个或多个作业属于不同的用户.表集将被导入并最终作为一组表被删除.从性能的角度来看,最好将它们保存为单独的表集.
所以我想为几个表中的每一个都有几个通用的Django模型.
我通过使用类似于此的代码在我的views.py文件中实现了它:
from foobar.models import Foo, Bar
def my_view(request):
prefix = request.GET.get('prefix')
Foo._meta.db_table = prefix + '_foo'
Bar._meta.db_table = prefix + '_bar'
....
foobar_list = Foo.objects.filter(bar_id=myval)
...
我的问题是:将此代码与基于Django的Web应用程序的并发多个用户一起使用是否安全?模型对象是否在用户之间共享?如果同时有两个请求会发生什么?
编辑2:我已经考虑了Lie Ryan的回答和评论,并提出了这段代码:
from django.http import HttpResponse, HttpResponseNotFound
from django.db import models
from django.template import RequestContext, loader
def getModels(prefix):
table_map = {}
tabl