Django orm操作的基礎認識

2022-04-26 06:51:23 字數 2013 閱讀 5560

在使用django 框架開發web應用的過程中,不可避免的會涉及到資料的管理操作,如增刪改查,使用的資料庫管理軟體有mysql.oracle,microsoft sql server等.

編寫sql語句的時候,直接編寫原生sql語句會存在幾個方面的問題,嚴重的影響了開發效率,

'''

1. sql語句執行效率低,程式設計師需要耗費精力去優化sql語句

2.資料庫遷移:針對mysql開發的sql語句沒法直接應用到oracle資料庫上,只要需要遷移資料庫,就要考慮平台問題

'''

它在pymysql上進行一層封裝,對於資料操作,不需要再去寫原生sql語句,

我們可以基於物件導向的思想去編寫類,物件,呼叫相應的方法,orm會將這個轉換,對映成原生sql然後交給pymysql執行.

先去建立資料庫.

mysql> create database hello world

在settings.py中去配置資料庫,

databases = 

}}

django orm底層運算元據庫python模組預設是mysqldb模組,所以之後將mysqldb模組改為pymysql模組

在__init__.py裡面新增兩行**

import pymysql

pymysql.install_as_mysqldb() # 替換

4.如果你向檢視orm語句內部真正的sql語句有兩種方式

1.如果是queryset物件 可以直接點query檢視

2.配置檔案中 直接配置

logging = ,

},'loggers': ,

}}

在模型層裡面建立表

from django.db import models

class book(models.model):

titile = models.charfield(max_length=32)

price = models.decimalfield(max_digists=8,decimal_places=2)

publish_date = models.datefield()

# 在定義乙個__str__列印物件的時候便於識別

def __str__(self):

return self.name+'物件'

生成資料庫遷移記錄的檔案,而且是放在migrations資料夾裡的

python manage.py makemigrations

真正提交到資料庫命令

python manage.py migrate

開始操作之前配置一下django測試環境可以提高開發效率

from djang.test import testcase

import os

if __name__ =="__main__":

import django

​ orm查詢

​ """

​ logging = ,

​ },

​ 'loggers': ,

​ }}​​

​​ django測試環境搭建

​ import os

if __name__ == "__main__":

os.environ.setdefault("django_settings_module", "one_search.settings")

import django

django.setup()

# 你就可以在下面測試django任何的py檔案

Django ORM基礎操作

jquery dom d1 自動翻譯 document.getelementbyid d1 databases import pymysql 告訴django用pymysql來代替預設的mysqldb pymysql.install as mysqldb mysqldb不支援中py3 class 類...

Django orm的正向反向操作

通過values 和values list來操作的 class utype models.model title models.charfield max length 32 ucap models.foreignkey ubumen class uinfo models.model name mo...

Django ORM 中的批量操作

from django.db import models class product models.model name models.charfield max length 200 price models.decimalfield max digits 10,decimal places 2 ...