gpt4 book ai didi

python - 在 Django Rest Framework 中搜索多个模型的表

转载 作者:太空宇宙 更新时间:2023-11-04 04:24:16 27 4
gpt4 key购买 nike

我有3张 table

  • PC(ID、PcNAME、品牌)
  • CellPhones(ID, CellPhoneName, Brand)
  • 打印机(ID、打印机名称、品牌)

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 .

关于python - 在 Django Rest Framework 中搜索多个模型的表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53809773/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com