Django 教程 --- Django 模型
標簽: 公眾號文章 數據庫 python java django mysql
一個Django模塊是內置的功能,Django使用創建表,他們的田地,和各種約束。簡而言之,Django Models是與Django一起使用的SQL數據庫。SQL(結構化查詢語言)很復雜,涉及許多不同的查詢,用于創建,刪除,更新或與數據庫有關的任何其他內容。Django模型簡化了任務并將表組織到模型中。通常,每個模型都映射到單個數據庫表。
本文圍繞如何使用Django模型方便地將數據存儲在數據庫中展開。此外,我們可以使用Django的管理面板來創建,更新,刪除或檢索模型的字段以及各種類似的操作。Django模型提供了簡單性,一致性,版本控制和高級元數據處理。模型的基礎包括–
每個模型都是一個子類的Python類django.db.models.Model。
模型的每個屬性代表一個數據庫字段。
通過所有這些,Django為您提供了一個自動生成的數據庫訪問API。請參閱進行查詢。
from django.db import models
# Create your models here.
class GeeksModel(models.Model):
title = models.CharField(max_length = 200)
description = models.TextField()
Django將Django模型中定義的字段映射到數據庫的表字段中,如下所示
使用Django模型
要使用Django模型,需要在其中運行一個項目和一個應用程序。啟動應用程序后,可以在app / models.py中創建模型。在開始使用模型之前,讓我們檢查如何啟動項目并創建名為geeks.py的應用程序
建立模型
句法
from django.db import models
class ModelName(models.Model):
field_name = models.Field(**options)
要創建模型,請在geeks/models.py輸入代碼中,
# import the standard Django Model
# from built-in library
from django.db import models
# declare a new model with a name "GeeksModel"
class GeeksModel(models.Model):
# fields of the model
title = models.CharField(max_length = 200)
description = models.TextField()
last_modified = models.DateTimeField(auto_now_add = True)
img = models.ImageField(upload_to = "images/")
# renames the instances of the model
# with their title name
def __str__(self):
return self.title
每當我們創建模型,刪除模型或更新我們項目的任何models.py中的任何內容時。我們需要運行兩個命令makemigrations和migrate。makemigrations基本上為預安裝的應用程序(可以在settings.py中的已安裝應用程序中查看)和生成的新模型(生成的模型)生成SQL命令,然后將其添加到已安裝的應用程序中,而migration則在數據庫文件中執行這些SQL命令。
Python manage.py makemigrations
創建要在表上方創建模型的SQL查詢,并
Python manage.py migrate
在Django管理界面中渲染模型
要在Django admin中渲染模型,我們需要進行修改app/admin.py。在geeks應用程序中轉到admin.py并輸入以下代碼。從models.py導入相應的模型并將其注冊到管理界面。
from django.contrib import admin
# Register your models here.
from .models import GeeksModel
admin.site.register(GeeksModel)
現在,我們可以檢查模型是否已在Django Admin中呈現。Django管理界面可用于以圖形方式實現CRUD(創建,檢索,更新,刪除)
Django CRUD –插入,更新和刪除數據
Django使我們可以使用稱為ORM(Object Relational Mapper)的數據庫抽象API與它的數據庫模型進行交互,即添加,刪除,修改和查詢對象。我們可以通過在項目目錄中運行以下命令來訪問Django ORM。
python manage.py shell
添加對象。
要創建相冊模型的對象并將其保存到數據庫中,我們需要編寫以下命令:
>>> a = GeeksModel(
title = “GeeksForGeeks”,
description = “A description here”,
img = “geeks/abc.png”
)
>>> a.save()
檢索對象
要檢索模型的所有對象,我們編寫以下命令:
>>> GeeksModel.objects.all()
<QuerySet [<GeeksModel: Divide>, <GeeksModel: Abbey Road>, <GeeksModel: Revolver>]>
修改現有對象
我們可以如下修改現有對象:
>>> a = GeeksModel.objects.get(id = 3)
>>> a.title = "Pop"
>>> a.save()
刪除對象
要刪除單個對象,我們需要編寫以下命令:
>>> a = Album.objects.get(id = 2)
>>> a.delete()
驗證模型中的字段
Django模型中的內置字段驗證是所有Django字段預定義的默認驗證。每個字段都帶有來自Django驗證程序的內置驗證。例如,IntegerField帶有內置驗證,該驗證只能存儲整數值,并且也可以存儲特定范圍內的值。
在geeks應用models.py文件中輸入以下代碼
from django.db import models
from django.db.models import Model
# Create your models here.
class GeeksModel(Model):
geeks_field = models.IntegerField()
def __str__(self):
return self.geeks_field
在運行makemigrations并在Django上遷移并渲染以上模型后,讓我們嘗試使用字符串“ GfG is Best ” 創建一個實例。
基本模型數據類型和字段列表
模型的最重要部分和模型唯一需要的部分是它定義的數據庫字段的列表。字段由類屬性指定。這是Django中使用的所有Field類型的列表。
智能推薦
Django 模型
Django 模型是與數據庫相關的,與數據庫相關的代碼一般寫在 models.py 中,Django 支持 sqlite3, MySQL, PostgreSQL等數據庫,只需要在settings.py中配置即可,不用更改models.py中的代碼,豐富的API極大的方便了使用。 1. 新建項目和應用 打開CMD,進入到django的bin目錄下(C:\Users\Kandy\AppData\Loc...
Django 模型
文章目錄 Django 模型 Django ORM 數據庫配置 Django 如何使用 mysql 數據庫 實例 定義模型 創建 APP 常見報錯信息 數據庫操作 添加數據 獲取數據 更新數據 刪除數據 Django 模型 Django 對各種數據庫提供了很好的支持,包括:PostgreSQL、MySQL、SQLite、Oracle。 Django 為這些數據庫提供了統一的調用API。 我們可以根...
Django 模型
0x01 基礎知識 Django 對各種數據庫提供了很好的支持,包括:PostgreSQL、MySQL、SQLite、Oracle。 Django 為這些數據庫提供了統一的調用API。 我們可以根據自己業務需求選擇不同的數據庫。 MySQL 是 Web 應用中最常用的數據庫。本章節我們將以 Mysql 作為實例進行介紹。你可以通過本站的 MySQL 教程 了解更多 MySQL 的基礎知識。 0x0...
python后臺架構Django教程——數據模型Model
全棧工程師開發手冊 (作者:欒鵬) python教程全解 本文銜接至python后臺架構Django開發全解。 有其他問題請先閱讀:http://blog.csdn.net/luanpeng825485697/article/details/79228895 前面的內容,我們創建了一個hello名的django下項目和名為app1的應用。連接了mysql數據庫。 1、建立數據對象模型 Django...
猜你喜歡
freemarker + ItextRender 根據模板生成PDF文件
1. 制作模板 2. 獲取模板,并將所獲取的數據加載生成html文件 2. 生成PDF文件 其中由兩個地方需要注意,都是關于獲取文件路徑的問題,由于項目部署的時候是打包成jar包形式,所以在開發過程中時直接安照傳統的獲取方法沒有一點文件,但是當打包后部署,總是出錯。于是參考網上文章,先將文件讀出來到項目的臨時目錄下,然后再按正常方式加載該臨時文件; 還有一個問題至今沒有解決,就是關于生成PDF文件...
電腦空間不夠了?教你一個小秒招快速清理 Docker 占用的磁盤空間!
Docker 很占用空間,每當我們運行容器、拉取鏡像、部署應用、構建自己的鏡像時,我們的磁盤空間會被大量占用。 如果你也被這個問題所困擾,咱們就一起看一下 Docker 是如何使用磁盤空間的,以及如何回收。 docker 占用的空間可以通過下面的命令查看: TYPE 列出了docker 使用磁盤的 4 種類型: Images:所有鏡像占用的空間,包括拉取下來的鏡像,和本地構建的。 Con...
requests實現全自動PPT模板
http://www.1ppt.com/moban/ 可以免費的下載PPT模板,當然如果要人工一個個下,還是挺麻煩的,我們可以利用requests輕松下載 訪問這個主頁,我們可以看到下面的樣式 點每一個PPT模板的圖片,我們可以進入到詳細的信息頁面,翻到下面,我們可以看到對應的下載地址 點擊這個下載的按鈕,我們便可以下載對應的PPT壓縮包 那我們就開始做吧 首先,查看網頁的源代碼,我們可以看到每一...