1. 程式人生 > >django中的ORM模組

django中的ORM模組

寫在前面

ORM,全稱Object Relational Mapping,中文叫做物件關係對映,通過ORM我們可以通過類的方式去操作資料庫,而不用再寫原生的SQL語句。通過把表對映成類,把行作例項,把欄位作為屬性,ORM在執行物件操作的時候最終還是會把對應的操作轉換為資料庫原生語句

django中ORM模型建立步驟

  1. 建立一張表(在資料庫中,手動)
  2. 在django中配置資料庫
  3. 新建app
  4. 將app新增到installed_apps列表中
  5. 寫模型(類的形式)
  6. 對映到資料庫中
建立一張表(在資料庫中,手動)
create table table_name(id int) engine=myisam;
create table db_ceshi.t1(id int,name varchar(50),salry decimal(10.2),dept varchar(50));
在django中配置資料庫

在settings.py檔案中寫入如下配置

DATABASES={
	'default':{
	'ENGINE':'django.db.backends.mysql',
	'NAME':'orm_table_name',#表的名稱
	'USER':'root',#使用者
	'PASSWORD':'root',#密碼
	'HOST':'127.0.0.1',#主機
	'PORT':'3306',#埠
	}
}
新建app

在專案目錄下
執行

python manage.py startapp app_name
將app新增到installed_apps列表中

新增app到install_apps列表

INSTALLED_APPS=[
	'django.contrib.admin',
	'django.contrib.auth',
	'django.contrib.contenttypes',
	'django.contrib.sessions',
	'django.contrib.messages',
	'django.contrib.staticfiles',
	'app_name'#新增app
]
寫模型(類的形式)

在app目錄下的models.py檔案中

From django.db import models

#Createyourmodelshere.
class Book(models.Model):
	#1.IDint自增長
	id=models.AutoField(primary_key=True)#自動增加
	#2.namevarchar100
	name=models.CharField(max_length=100,null=False)
	#3.authorvarchar100
	author=models.CharField(max_length=100,null=False)
	#4.pricefloat100
	price=models.FloatField(null=False,default=0)

class Publisher(models.Model):
	name=models.CharField(max_length=100,null=False)
	address=models.CharField(max_length=100,null=False)
對映到資料庫中

對映到資料庫中
分為兩步實現
1.生成指令碼檔案
2.對映到資料庫中

生成指令碼檔案
python manage.py makemigrations
對映到資料庫中
python manage.py migrate

如果模型有修改,則重複執行該步