在姜戈睡觉框架中进行多型号表格搜索 [英] Searching in multiple models' tables in Django Rest Framework

查看:40
本文介绍了在姜戈睡觉框架中进行多型号表格搜索的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我有3个表

  • PC(ID, PcNAME, Brand)
  • CellPhoness(ID, CellPhoneName, Brand)
  • Printers(ID, PrinterName, Brand)

这3个表之间没有关系。我想运行一个查询,用户可以在其中输入搜索字符串,程序将搜索数据所在的3个型号,并以JSON响应的形式返回与ID、名称和品牌相同的信息。

推荐答案

您可以这样做:

  1. 从查询参数获取查询文本

  2. 基于此的过滤

  3. 返回序列化程序数据

     def view(request):
         query = request.GET.get("query", None)
         pcs = PC.objects.all()
         cell_phones = CellPhone.objects.all()
         printers = Printer.objects.all()
    
         if query:
             pcs = pcs.filter(name__icontains=query)
             cell_phones = cell_phones.filter(name__icontains=query)
             printers = printers.filter(name__icontains=query)
    
         return JsonResponse({"pcs": PCSerializer(instances=pcs, many=True).data,
                             "cell_phones": CellPhoneSerializer(instances=cell_phones, many=True).data,
                             "printers": PrinterSerializer(instances=printers, many=True).data})
    

您需要为每个对象创建序列化程序,请查看this documentation

这篇关于在姜戈睡觉框架中进行多型号表格搜索的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆