ORM(Objects Relational Mapping)對象關(guān)系映射
把面向?qū)ο蟮母拍罡鷶?shù)據(jù)庫中表的概念對應(yīng)起來。
舉例來說就是,我定義一個對象,那就對應(yīng)著一張表,這個對象的實例,就對應(yīng)著表中的一條記錄。
用來把對象模型表示的對象映射到基于S Q L 的關(guān)系模型數(shù)據(jù)庫結(jié)構(gòu)中去。這樣,我們在具體的操作實體對象的時候,
就不需要再去和復(fù)雜的 SQ L 語句打交道,只需簡單的操作實體對象的屬性和方法
ORM 技術(shù)是在對象和關(guān)系之間提供了一條橋梁,
前臺的對象型數(shù)據(jù)和數(shù)據(jù)庫中的關(guān)系型的數(shù)據(jù)通過這個橋梁來相互轉(zhuǎn)化 。
模型 --------------- ORM ---------------------- 數(shù)據(jù)表
save() --------------------------------------------- insert
delete() --------------------------------------------- delete
update() --------------------------------------------- update
filter() --------------------------------------------- select
Pycharm運行的一個小技巧(運行文件的時候帶參數(shù))
點擊右上角 Edit configurations
點擊左上角加號+ 選擇Python
在Script path添加要運行的python文件
在Parameters傳參 runserver
在運行這個py文件自動會加上參數(shù) runserver
讓他人也可以訪問自己電腦的私網(wǎng)
python manage.py runserver 0.0.0.0:80
makemigrations
定義模型并遷移
1.在 app/migrations/models.py寫自己定義的一個模型
例如:
class Student(models.Model):
name = models.CharField(max_length=10,unique=True)
age = models.IntegerField(default=18)
gender = models.BooleanField(default=1)
2.在settings中DATABASES
寫連接的數(shù)據(jù)庫信息
例如:
DATABASES = {
'default': {
'ENGINE': 'django.db.backends.mysql',
'NAME': 'dj7',
'USER':'root',
'PASSWORD':'123456',
'HOST':'127.0.0.1',
'PORT':3306
}
}
3.在day02 下面的init.py 寫
import pymysql
pymysql.install_as_MySQLdb()
4.在settings.py中 INSTALLED_APPS最后一行加上'app'
5.執(zhí)行python manage.py makemigrations 生成遷移文件,
會在app/migrations生成一個 0001_initial.py
6.python manage.py migrate 進行遷移
7.刷新數(shù)據(jù)庫遷移成功(創(chuàng)建的表自帶主鍵,可以不用創(chuàng)建)
表中新增字段要給默認(rèn)值