django 逗號分隔的參數(shù)去查詢逗號分隔的數(shù)據(jù)

一、
問題:數(shù)據(jù)庫中表x_table存在這樣的數(shù)據(jù)


image.png

二、
1、當我查詢 “經(jīng)典” 時期望查詢出 field='經(jīng)典,文學'的數(shù)據(jù)
2、當我查詢 “經(jīng)典,文學” 時期望查詢出 field='經(jīng)典,文學'的數(shù)據(jù)
3、當我查詢 “現(xiàn)代” 時期望查詢出 field='現(xiàn)代' 或者 field='現(xiàn)代,網(wǎng)絡(luò)'的數(shù)據(jù)
查了下資料,這種不規(guī)則的查詢,沒有找到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
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容