在姜戈睡觉框架中进行多型号表格搜索
问题描述
我有3个表
PC(ID, PcNAME, Brand)
CellPhoness(ID, CellPhoneName, Brand)
Printers(ID, PrinterName, Brand)
。
这3个表之间没有关系。我想运行一个查询,用户可以在其中输入搜索字符串,程序将搜索数据所在的3个型号,并以JSON响应的形式返回与ID、名称和品牌相同的信息。
解决方案
您可以这样做:
从查询参数获取查询文本
基于此的过滤
返回序列化程序数据
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。
相关文章