Django框架學習筆記(14.一對多跨表操作)
繼續上次的Django工程,在資料庫中加入一些資料:
在views.py加入:
def host(request): v1 = models.Host.objects.filter(nid__gt=0) return render(request, 'host.html', {'v1': v1})
host.html:
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>Title</title> </head><body> <h1>業務線列表</h1> <table border="1"> <thead> <tr> <th>主機名</th> <th>IP</th> <th>埠</th> <th>業務線名稱</th> </tr> </thead> <tbody> {% for row in v1 %} <trhid="{{ row.nid }}" bid="{{ row.b_id }}"> <td>{{ row.hostname }}</td> <td>{{ row.ip }}</td> <td>{{ row.port }}</td> <td>{{ row.b.caption }}</td> </tr> {% endfor %} </tbody> </table></body> </html>
執行:
同樣這裡也可以有三種方法:
views.py:
def host(request): v1 = models.Host.objects.filter(nid__gt=0) v2 = models.Host.objects.filter(nid__gt=0).values('nid', 'hostname', 'b_id', 'b__caption') v3 = models.Host.objects.filter(nid__gt=0).values_list('nid', 'hostname', 'b_id', 'b__caption') return render(request, 'host.html', {'v1': v1, 'v2': v2, 'v3': v3})
host.html:
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>Title</title> </head> <body> <h1>業務線列表(物件)</h1> <table border="1"> <thead> <tr> <th>主機名</th> <th>IP</th> <th>埠</th> <th>業務線名稱</th> </tr> </thead> <tbody> {% for row in v1 %} <tr hid="{{ row.nid }}" bid="{{ row.b_id }}"> <td>{{ row.hostname }}</td> <td>{{ row.ip }}</td> <td>{{ row.port }}</td> <td>{{ row.b.caption }}</td> </tr> {% endfor %} </tbody> </table> <h1>業務線列表(字典)</h1> <table border="1"> <thead> <tr> <th>主機名</th> <th>業務線名稱</th> </tr> </thead> <tbody> {% for row in v2 %} <tr hid="{{ row.nid }}" bid="{{ row.b_id }}"> <td>{{ row.hostname }}</td> <td>{{ row.b__caption }}</td> </tr> {% endfor %} </tbody> </table> <h1>業務線列表(物件)</h1> <table border="1"> <thead> <tr> <th>主機名</th> <th>IP</th> <th>埠</th> <th>業務線名稱</th> </tr> </thead> <tbody> {% for row in v1 %} <tr hid="{{ row.nid }}" bid="{{ row.b_id }}"> <td>{{ row.hostname }}</td> <td>{{ row.ip }}</td> <td>{{ row.port }}</td> <td>{{ row.b.caption }}</td> </tr> {% endfor %} </tbody> </table> <h1>業務線列表(元組)</h1> <table border="1"> <thead> <tr> <th>主機名</th> <th>業務線名稱</th> </tr> </thead> <tbody> {% for row in v3 %} <tr hid="{{ row.0 }}" bid="{{ row.2 }}"> <td>{{ row.1 }}</td> <td>{{ row.3 }}</td> </tr> {% endfor %} </tbody> </table> </body> </html>
執行後:
相關推薦
Django框架學習筆記(14.一對多跨表操作)
繼續上次的Django工程,在資料庫中加入一些資料: 在views.py加入: def host(request): v1 = models.Host.objects.filter(nid_
Django框架學習筆記(28.檔案上傳詳解)
1.所有美觀的上傳按鈕原理: <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-
Django框架學習筆記(15.增加一對多資料簡易示例)
在上一篇建立好的Django工程的基礎上: urls.py: from django.contrib import admin from django.urls import path from django.conf.urls import url from app01
hibernate框架學習筆記8:一對多關系案例
列名 let cas 同時 end update 數據庫驅動 測試 nsa 兩個實體類:客戶與聯系人,一個客戶可以有多個聯系人 客戶類: package domain; import java.util.HashSet; import java.util.Set;
TensorFlow+實戰Google深度學習框架學習筆記(14)------VGGNet
一、VGGNet:5段卷積【每段有2~3個卷積層+最大池化層】【每段過濾器個數:64-128-256-512-512】 每段的2~3個卷積層串聯在一起的作用: 2個3×3的卷積層串聯的效果相當於一個5×5的卷積層,即一個畫素會跟周圍5×5的畫素產生關聯。【28*28的輸入經過一次5*5得到24*24,s=
Django框架學習筆記(21.Session例項)
基於Cookie做使用者驗證時:不適合把敏感資訊(如密碼)放在Cookie中,因為可以Cookie是可以看見的。 Cookie優勢:減輕了服務端的壓力 接下來介紹Session: Cooki
Django框架學習筆記(25.Form元件驗證)
簡單的使用者註冊: urls.py加入: url(r'^fm/$', views.fm), views.py: from django import forms class FM(forms.
Django框架學習筆記(9.ORM基本操作)
app下的models.py: from django.db import models # Create your models here. class UserInfo(models.Mode
Django框架學習筆記(22.CSRF原理簡單介紹)
前面我們寫Django的時候,都要在settings.py裡把CSRF註釋掉,這裡其實是Django提供的一層防護,防止提交的資料含有XSS攻擊,只有請求裡面含有CSRF令牌(隨機字串)才可以通過,否
Django框架學習筆記(4.簡單的總結)
這裡對前面三節的知識做個簡單的總結: 一、基本操作: 1.建立Django工程: django-admin startproject [工程名] 2.建立app: cd [工程名] python manage.py startapp [app名稱]
Django框架學習筆記(16.利用ajax實現簡易的驗證)
繼續上一篇的例子: host.html: <!DOCTYPE html> <html lang="en" xmlns="http://www.w3.org/1999/html"> <head> <meta charset=
Django框架學習筆記(19.自定義分頁)
在講自定義分頁之前,先講一個簡單的。 在模板語言中還有一些特殊的存在,比如這個: def tpl4(request): name = "asdf123456" return render(request, 'tpl4.html', {'name': name})
Django框架學習筆記(27.Ajax簡單操作)
原生Ajax: urls.py: url(r'^ajax/$', views.ajax), url(r'^ajax_json/$', views.ajax_json), views.py: de
1.mysql學習筆記(在命令行中的操作)
style 登錄 left 多個數據庫 mysql 一個數據庫 weight 準備 ase 2018-07-28 mysql和oracle的不同點: 一個oracle就是一個數據庫。 而一個mysql中可以有多個數據庫 準備:登錄到數據庫 註意:每一個命令都要以分號結束
ETL-Kettle學習筆記(入門,簡介,簡單操作)
KETTLE Kettle:簡介 ETL:簡介 ETL(Extract-Transform-Load的縮寫,即資料抽取、轉換、裝載的過程),對於企業或行業應用來說,我們經常會遇到各種資料的處理,轉換,遷移,所以瞭解並掌握一種etl工具的使用,必不可少的,Kettle就是強大的ETL工具。 Kettle:概念
EF6學習筆記四:一對多、多對多、一對一關係配置(Fluent API)
要專業系統地學習EF前往《你必須掌握的Entity Framework 6.x與Core 2.0》這本書的作者(汪鵬,Jeffcky)的部落格:https://www.cnblogs.com/CreateMyself/ 現在就來到了重中之重的配置了:一對
Django學習筆記(14)——AJAX與Form元件知識補充(區域性鉤子和全域性鉤子詳解)
我在之前做了一個關於AJAX和form元件的筆記,可以參考:Django學習筆記(8)——前後臺數據互動實戰(AJAX);Django學習筆記(6)——Form表單 我覺得自己在寫Django筆記(8)的時候,我只是對AJA
php laravel框架學習筆記 (二) 數據庫操作
true 數據 mar sql show top 一行 ati del 原博客鏈接:http://www.cnblogs.com/bitch1319453/p/6810492.html mysql基本配置 你可用通過配置環境變量,使用cmd進入mysql,當然還有一種東
QT學習筆記(14) 定時器類DTimer的使用
fin isa play htm number conn stat alt .cn 一、 在前面的學習筆記中,我們已經學習定時器事件http://www.cnblogs.com/blog-ccs/p/7445323.html 現在,我們學習QTimer定時器類,比較
redis學習筆記(14)---redis基本命令總結
del diff lan 命令 列表 對象 很多 順序 reg http://doc.redisfans.com/ 網頁,對所有redis命令的用法與示例進行了詳細的描述 概述 Redis的鍵值可以使用物種數據類型:字符串,散列表,列表,集合,有序集合。本文詳細介紹這