美文网首页
django 逗号分隔的参数去查询逗号分隔的数据

django 逗号分隔的参数去查询逗号分隔的数据

作者: HC2 | 来源:发表于2021-05-08 14:32 被阅读0次

    一、
    问题:数据库中表x_table存在这样的数据


    image.png

    二、
    1、当我查询 “经典” 时期望查询出 field='经典,文学'的数据
    2、当我查询 “经典,文学” 时期望查询出 field='经典,文学'的数据
    3、当我查询 “现代” 时期望查询出 field='现代' 或者 field='现代,网络'的数据
    查了下资料,这种不规则的查询,没有找到django有封装特定的查询方法

    想到 了 django的 extra 模型来进行查询

    @require_http_methods(["GET"])
    def get_book(request):
    
        field = request.GET.get('field')
    
        tk = Book.objects.none()  # Return an empty QuerySet
        for i in field.split(','):
            om = Book.objects.extra(where=['FIND_IN_SET("{}", field)'.format(i)])
            tk = tk | om
    
        result = {"resCode": '0', "message": 'success', "data": json.loads(serializers.serialize("json", tk))}
    
        return JsonResponse(result)
    
    image.png image.png

    相关文章

      网友评论

          本文标题:django 逗号分隔的参数去查询逗号分隔的数据

          本文链接:https://www.haomeiwen.com/subject/nhludltx.html