日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 人文社科 > 生活经验 >内容正文

生活经验

django正反向查询

發布時間:2023/11/28 生活经验 41 豆豆
生活随笔 收集整理的這篇文章主要介紹了 django正反向查询 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

django正反向查詢

當我們的表存在外鍵想要從一找多的時候該怎么查找,當我們從多找一的時候又應該怎么查找.

一找多

  1. 首先我們要創建一個項目,在項目的model.py中創建兩個模型.
    from django.db import modelsclass UserType(models.Model):title = models.CharField(max_length=32)class UserInfo(models.Model):name = models.CharField(max_length=16)age = models.IntegerField()ut = models.ForeignKey('UserType',on_delete=models.CASCADE)
  1. 在我們的views.py中創建我們的視圖類.
 from django.shortcuts import render,HttpResponsefrom django.views import Viewfrom .models import UserInfo, UserTypeclass Index(View):def get(self, request):#一找多,一個用戶類型應該對應多個用戶.#首先我們找到一個id為1的用戶對象results = UserType.objects.filter(id=1).first()#然后用多的那個類名的小寫對加下劃線加set可以找到一個類型對應的所有用戶objs = results.userinfo_set.all()#找到相應的用戶的信息for row in objs:print(row.name)return HttpResponse('ok')
  1. 配置url,運行項目可以看到運行的結果
    from django.contrib import adminfrom django.urls import pathfrom . import viewsurlpatterns = [path('admin/', admin.site.urls),path('index/',views.index),path('newindex/',views.NewIndex.as_view())]

多找一

class Index(View):def get(self, request):result=UserInfo.objects.all()for obj in result:print(obj.name,obj.age,obj.ut.id)

運行就可一看到結果.

備注:

  • 多找一的時候比較簡單,在一找多的時候有點繞,所以就簡單處理一下多找一.

總結

以上是生活随笔為你收集整理的django正反向查询的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。