Django models模型

Django models模型

?

一.?所謂Django models模型,是指的對數據庫的抽象模型,models在英文中的意思是模型,模板的意思,在這里的意思是通過models,將數據庫的借口抽象成python自己的一個類。然后在python Django框架其他代碼文件中,可以通過在models代碼文件中抽象出來的數據接口模型板模型類對數據庫進行一系列的其他操作。

二.?Django 對各種數據庫都能提供很好的支持,如mysql,oracle,postgresql,sqlite等,diango為這些數據庫提供了統一的調用API我們可以根據自己業務需求選擇不同的數據庫。也就是縮django調用封裝好這些數據庫以后,我們對這些數據的操作都是一樣的。

MySQL 是 Web 應用中最常用的數據庫,現在接下來,我們都將以 Mysql 作為例進行測試學習,如果你沒安裝 mysql 驅動,可以執行以下命令安裝:

sudo pip install mysqlclient

數據庫配置:

我們在使用數據庫的時候,需要在項目的 settings.py 文件中找到 DATABASES 配置項,配置一下有關數據的配置文件,使我們的django項目能遠程連接到我們的數據庫。

DATABASES = {

????'default': {

????????'ENGINE':'django.db.backends.mysql', # 或者使用 mysql.connector.django

????????'NAME': 'test',

????????'USER': 'test',

????????'PASSWORD': 'test123',

????????'HOST':'localhost',

????????'PORT':'3306',

????}

}

注:我們這里這里添加了中文注釋,所以你需要在項目的settings.py 文件頭部添加

?# -*- coding: UTF-8 -*-。

接下來在我們的項目中,無論是python項目文件還是html項目文件,只要我們使用中文或者使用中文注釋,都必須在前面加上# -*- coding: UTF-8 -*-,來支持中文顯示。

上面的配置文件中包含了數據庫名稱和用戶的信息,它們與 MySQL 中對應數據庫和用戶的設置相同。Django 根據這一設置,與 MySQL 中相應的數據庫和用戶連接起來。

三.django定義規定,只要我們使用models數據庫模板,就必須創建一個app實例,經測試,如果不啟用實例,models會不起作用而且還會報錯。以后這個待有機會再驗證一下。

因為我們我們服務器暫時沒安裝mysql,django默認使用小型數據庫sqlite,sqlite與mysql數據庫在使用方式上相同,

我們創建一個關于數據庫的模型,因為每個模型都是跟數據庫相對應的,所以我們可以起一個關于數據的名字:

django-admin.py startapp bookmodels

?

?

我們也可以這樣命名bookdb_models,這里我們暫時使用bookmodels命名。

目錄結構如圖所示:

?

添加代碼如下:

# -*- coding: utf-8 -*- ???????????//支持中文

from __future__ import unicode_literals

from django.db import models ?????

class bookdb(models.Model):

????book_id=models.AutoField(primary_key=True)

????book_name = models.CharField(max_length=32)

????pub_date=models.DateField()

????price=models.DecimalField(max_digits=6,decimal_places=2)

????publish=models.CharField(max_length=32)

?

注:只要使用models就必須加入這句話:

from django.db import models ?

意思是從django.db文件中引入models數據庫模板,而django.db文件中封裝了一個models模板類,用來表示和表達數據庫,并通過這models類封裝了數據庫接口,并通過他對數據庫進行操作。

注:modelsdjango里面可以理解為就是數據庫的意思。

models中的Model,則代表數據庫其中的一個表格模板。我們創建一個表,就需要調用這個Model表格模板。

轉載于:https://www.cnblogs.com/fengjunhua/p/7813334.html

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/news/454114.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/454114.shtml
英文地址,請注明出處:http://en.pswp.cn/news/454114.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

Page.FindControl方法找不到指定控件的原因

在ASP.NET 2.0中,引入了MasterPage的機制,在當前頁使用MasterPage的情況下,放在 ContentPlaceholder1這樣的內容頁的控件無法用Page.FindControl來查找,原因何在?MSDN對FindControl的解釋:在當前的命名容器…

ATT匯編語言與GCC內嵌匯編簡介

AT&T匯編語言與GCC內嵌匯編簡介 1 AT&T 與INTEL的匯編語言語法的區別 1.1大小寫 1.2操作數賦值方向 1.3前綴 1.4間接尋址語法 1.5后綴 1.6指令 2 GCC內嵌匯編 2.1簡介 2.2內嵌匯編舉例 2.3語法 2.3.1匯編語句模板 2.3.2輸出部分 2.3.3輸入部分 2.3.4限制字符 2.3.5破…

Python內存管理以及垃圾回收機制

垃圾回收:用通俗點的語言解釋就是內存管理和垃圾回收的過程. 大管家refchain 在Python的C源碼中有一個名為refchain的環狀雙向鏈表,這個鏈表就比較厲害了,因為Python程序中一旦創建對象都會把這個對象添加到refchain這個鏈表中。也就是說他…

pythonfillcolor_openpyxl 填充顏色(單元格)

如果需要填充某個單元格的顏色需要3步:# 1-加載庫文件from openpyxl import Workbookfrom openpyxl.styles import PatternFill#2-新建一個工作簿wb Workbook()ws wb.active#隨便賦個值d4 ws[D4]d4 43d4.value#3-設置樣式,并且加載到對應單元格fill …

Mint-ui中loadmore(上拉加載下拉刷新)組件在ios中滑動會觸發點擊事件的解決方法...

bug說明: Mint-ui中loadmore(上拉加載下拉刷新)組件 在 使用fastclick的情況下 ,在ios設備中滑動會觸發點擊事件; 解決方法: 我是按需引入,去項目中找到loadmore下的index.js,全部引入的要找mint下面mint-u…

【Ext.Net學習筆記】01:在ASP.NET WebForm中使用Ext.Net

Ext.NET是基于跨瀏覽器的ExtJS庫和.NET Framework的一套支持ASP.NET AJAX的開源Web控件,包含有豐富的Ajax運用,其前身是Coolite。 下載地址:http://www.ext.net/download/ 示例地址:http://examples.ext.net/ 1.首先下載Ext.Net,地…

面試之操作系統

基本特征 1. 并發 并發是指宏觀上在一段時間內能同時運行多個程序,而并行則指同一時刻能運行多個指令。并行需要硬件支持,如多流水線、多核處理器或者分布式計算系統。操作系統通過引入進程和線程,使得程序能夠并發運行。 2. 共享 共享是指…

mysql新增列并同時增加數據_圖解MySQL | [原理解析] MySQL 為表添加列 是怎么quot;立刻quot;完成的...

在上一期圖解 圖解MySQL | MySQL DDL為什么成本高?中,我們介紹了:傳統情況下,為表添加列需要對表進行重建騰訊團隊為 MySQL 引入了 Instant Add Column 的方案(以下稱為 "立刻加列" 功能)可以快速完成 為表添加列 的任務…

GCC for Win32開發環境介紹

GCC for Win32開發環境介紹(1) 第一章 在視窗操作系統下的GCC 第一節GCC家族概覽 GCC是一個原本用于Unix-like系統下編程的編譯器。不過,現在GCC也有了許多Win32下的移植版本。所以,也許對于許多Windows開發者來說,GCC還是一個比較陌生的東西…

包裝函數

function wrap(object,method,wrapper){ //object:包裝方法所屬對象 method:方法名 wrapper:替換函數var fn object[method];return object[method] function(){return wrapper.apply(this,[fn.bind(this)].concat(Array.prototype.slice.call(arguments)));}; } 轉載于…

JAR——pinyin4j-2.5.0

簡介:將中文轉為拼音; 使用: 123//返回的是字符串String pinyin[] PinyinHelper.toHanyuPinyinStringArray(chinese);//eg:你----ni3本文轉自wauoen51CTO博客,原文鏈接:http://blog.51cto.com/7183397/1605894&#…

Android高效加載大圖、多圖解決方案,有效避免程序OOM

http://blog.csdn.net/guolin_blog/article/details/9316683轉載于:https://www.cnblogs.com/jianglijs/p/7827524.html

Flask 上下文源碼解析

簡單來說,上下文包括request_ctx(封裝了request和session),app_request(封裝了app和g),兩個ctx都儲存在一個叫做Local的數據結構中,這個結構的作用就是會自動根據不同的線程id返回對應的數據,然后通過一個叫做 LocalStark 的結構把…

reg型變量怎么賦值_UiPath變量介紹和使用

1 變量變量主要用于存儲數據,它在RPA中扮演重要的數據傳遞角色,是RPA編程不可或缺的一部分。它包括變量名稱和變量的值,變量的值支持多種數據類型,包括從通用值,文本,數字,數據表,時…

gcc 使用教程

gcc 使用教程 目 錄 gcc makefile寫法 gcc_egcs使用 gdb使用 gcc常用選項對代碼的影響 一般情況 -O 編譯選項 -O2 編譯選項 -fomit-frame-pointer 編譯選項-fomit-frame-pointer && -O2-fPIC 編譯選項 -static 編譯選項 AT&T的匯編格式 x86內聯匯編 簡述 內聯匯編…

Struts2教程9:實現自已的攔截器

在上一篇中介紹了Struts2攔截器的原理,在這一篇中我們將學習一下如何編寫自己的攔截器。一、攔截器的實現實現一個攔截器非常簡單。實際上,一個攔截器就是一個普通的類,只是這個類必須實現com.opensymphony.xwork2.interceptor.Interceptor接…

標準C程序設計七---66

Linux應用 編程深入 語言編程標準C程序設計七---經典C11程序設計 以下內容為閱讀: 《標準C程序設計》(第7版) 作者:E. Balagurusamy(印), 李周芳譯 清華大學出版社…

深度學習之概述

深度學習的應用場景 1、圖像應用: 1.1 大規模(大數據量)圖片識別(聚類/分類),如人臉識別,車牌識別,OCR等。人臉識別算法:① faceID ② faceNet 1.2 以圖搜圖,圖像分割 1.3 目標檢測&#xff0…

如何根據對象獲取到對應的表名_Excel VBA 常用對象二

下面繼續講解上一節中未講完的內容:Excel VBA編程中常常使用的那些對象到底是什么,如何在代碼中表示它們。Worksheet對象Worksheet對象代表工作表。工作簿中的每個工作表都是一個Worksheet對象,所有Worksheet對象構成了Worksheets集合。我們使…

PIX525故障一例,求解

IDC機房網絡拓樸如下:IDC核心交換機-----通過一條網線-------機柜D-LNKI交換機------PIX 525------CISCO交換機------各WEB服務器。其中D-LINK交換機的IP為192.168.2.11,也就是下面日志中的IP。另外,之所以IDC和PIX之間再加一臺DLINK是因為有…