一、
問題:數(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