前端頁面有幾個輸入框用於搜尋資料。使用者可以按需填入搜尋條件傳給後台,後台再按條件查詢返回。
查詢資料發現orm查詢中可以有filter(**dict)這種查詢方式,所以有以下查詢。
def search_stu_info(request):
argument = _getarguments(request)
try:
name = argument.get("name", "")
class_id = argument.get("class_id", "")
sno = argument.get("sno", "")
kwargs = {}
if name:
kwargs["name__contains"] = name
if class_id:
kwargs["class_id"] = class_id
if sno:
kwargs["son"] = sno
stu = student.objects.filter(**kwargs)
data =
for i in stu:
returndict =
return jsonresponse(returndict, json_dumps_params=)
except exception as e:
traceback.print_exc()
def _getarguments(request):
# 獲取請求引數
if request.method == 'get':
logging.error("收到get請求")
arguments = dict(request.get)
for arg in arguments:
if type(arguments[arg]) == type():
arguments[arg] = arguments[arg][0]
else:
logging.error("收到post請求")
logging.error("post-body")
logging.error(request.body.decode())
if "form" in request.content_type:
arguments = request.post
else:
arguments = json.loads(request.body.decode())
return arguments
Django 40 ORM多對多新增
前提 初始表資料 book表和author表為多對多關係,一本圖書可能有多個作者,乙個作者可能有多本書 新增add 可以為數字 即id 物件 物件列表 book表 author表 book authors表 關係表 from django.shortcuts import render 匯入顯示頁面...
Django 44 ORM多對多刪除
前提 初始表資料 remove 刪除,可以為數字 即id 物件 物件列表 delete篩選後刪除 clear清空 book表 author表 book authors表 關係表 from django.shortcuts import render 匯入顯示頁面的模組 from django.htt...
Django學習 9 ORM多對多操作
建立多對多 方式一 自定義關係表 class host models.model nid models.autofield primary key true hostname models.charfield max length 32,db index true ip models.generic...