ORM

簡單介紹ORM:

  對象關係映射(英語:(Object Relational Mapping,簡稱ORM,或O/RM,或O/R mapping),是一種程序技術,用於實現面向對象編程語言里不同類型系統的數據之間的轉換 [1]。從效果上說,它其實是創建了一個可在編程語言里使用的–“虛擬對象數據庫”。

簡單分析ORM的優缺點:

  優點:1.簡單,不用自己寫SQL語句

     2.開發效率高

  缺點:1.你需要記住ORM的特殊語法

        2.因為不是專業的SQL語句,相對於某些大佬的SQL語句,執行效率肯定有差距

ORM中的對應關係:

  類——數據表

  對象——數據行

  屬性——字段

ORM能做的事:

  1.操作數據表——>創建表、刪除表、修改表、操作models.py裏面的類

  2.操作數據行——>數據的增刪改查

  但是ORM不能創建數據庫,需要事先自己手動創建數據庫。

使用Django的ORM詳細步驟:

  1.自己手動創建數據庫

    create database 數據庫名;

  2.在Django項目中設置連接數據庫的相關配置(告訴Django連接哪一個數據庫)

 1 # 與數據庫相關的配置
 2 DATABASES = {
 3     'default': {
 4         # 連接數據庫的類型
 5         'ENGINE': 'django.db.backends.mysql',
 6         # 連接數據庫的地址
 7         'HOST':'127.0.0.1',
 8         # 連接數據庫的端口
 9         'PORT':3306,
10         # 數據庫名稱
11         'NAME': 'day61',
12         # 用戶
13         'USER':'root',
14         # 密碼
15         'PASSWORD':'000000'
16     }

  3.告訴Djiango用pymysql代替默認的MySQLDB連接MySQL數據庫 

1 import pymysql
2 # 告訴django用pymysql來代替默認的mysqldb
3 pymysql.install_as_MySQLdb()

  4.在app下面的models.py文件夾中定義一個類,這個類必須繼承models.Model.

1 from django.db import models
2 
3 # Create your models here.
4 # ORM相關的只能寫在這個文件里,寫在其他文件的話django找不到
5 
6 class UserInfo(models.Model):
7     id = models.AutoField(primary_key=True) # 創建一個自增的主鍵字段
8     name = models.CharField(null=False,max_length=20) # 創建一個varchar(20)類型的不能為空的字段

  5.在終端執行兩個命令

    注:每次在models.py對ORM語句修改后,都要執行以下這兩個語句。

    (1)python manage.py makemigrations————這句相當於每次改動后,將改動保存到項目文件夾下的migrations中

    這裏可能會遇到一個錯誤,解決辦法請參見:    https://blog.csdn.net/weixin_33127753/article/details/89100552

    (2)python manage.py migrate————這句相當於把改動翻譯成SQL語句,然後去數據庫中執行

点赞

發佈留言

發佈留言必須填寫的電子郵件地址不會公開。 必填欄位標示為 *