django models 改成变量的问题?

django models 改成变量的问题

class CategoryView(ModelViewSet): 
    queryset=models.ItemsCategory.objects.all()

** 现有有个需求, 根据前端的信息,
来选择不同的models
models.ItemsCategory怎么用一个变量来代替**

我这里有一个方法,不知道你适不适用
我在类外面定义了一个全局变量,存储我所有的model
如下

from mymodels.models import *
database = {
    "LEDboard": LEDboard,
    "Frame": Frame,
    "PowerSupply": PowerSupply,
    "Powercord": Powercord,
    "Controlcard": Controlcard,
    "Videoprocessor": Videoprocessor,
}

使用的时候

class mterialreqque(View):
    @method_decorator(decompose_parameter)
    def post(self, request, *args, **kwargs):
        result = {
            "code": None,
            'data': None
        }
        global database
        firstl = []
        secondl = []
        first = kwargs.get("uplist")[0]
        second = kwargs.get("uplist")[-1]
        firstobj = database.get(first)
        secondobj = database.get(second)
        for i in firstobj.objects.all():
            firstl.append(i.getinfo)
        for i in secondobj.objects.all():
            secondl.append(i.getinfo)
        result['code'] = 200
        result['data'] = {
            first: firstl,
            second: secondl,
        }
        return JsonResponse(result)

有帮助请采纳,有问题继续交流,你的采纳是对我回答的最大的肯定和动力


# 前端传来的变量信息a
a = Flase
# 根据a来选择不同的models
if a:
  queryset=models.ItemsCategory.objects.all()
else:
  queryset=models.Othermodels.objects.all()