標籤:
一、使用資料庫需要設定settings.py檔案。
DATABASES = { ‘default‘: { ‘ENGINE‘: ‘django.db.backends.‘, # Add ‘postgresql_psycopg2‘, ‘mysql‘, ‘sqlite3‘ or ‘oracle‘. ‘NAME‘: ‘‘, # Or path to database file if using sqlite3. ‘USER‘: ‘‘, # Not used with sqlite3. ‘PASSWORD‘: ‘‘, # Not used with sqlite3. ‘HOST‘: ‘‘, # Set to empty string for localhost. Not used with sqlite3. ‘PORT‘: ‘‘, # Set to empty string for default. Not used with sqlite3. }}
‘ENGINE‘說明使用的是什麼資料引擎,django中僅支援‘postgresql_psycopg2‘, ‘mysql‘, ‘sqlite3‘ or ‘oracle‘.這幾種。
‘NAME’使用哪個資料庫,在django中,架構可以產生資料表,但是不可以聲稱資料庫,所以要自己手動建立好資料庫。
‘USER‘資料庫的使用者名稱
2、如果django架構支援的操作滿足不了開發需求,可以執行原生的SQL語句。
>>> from django.db import connection>>> cursor = connection.cursor()
3、常用的幾條命令:
python manage.py validate#檢查models是否有語法錯誤
python manage.py startproject projectname
python manage.py startapp appname
python manage.py syncdb#將建立的表建立到資料庫中,但是如果後期對錶作了修改,在使用這條命令不會更新。此時應該使用下面兩條命令,僅在django版本》=1.7時使用
python manage.py makemigrations
python manage.py migrate
4、建立models
from django.db import modelsfrom django.template.defaultfilters import defaultclass User(models.Model): name =models.CharField(max_length=50); createTime = models.DateTimeField(auto_now=True); updateTime = models.DateTimeField(auto_now_add=True);
5、當使用data=User.objects.all()方法時獲得的是資料表記錄對象的集合,我們可以使用一些有用的字串來表示這些對象。可以添加一個類方法 __unicode__()
該方法返回一個代表該對象的字串,是我們能夠看到他就知道是那一條記錄。
注意:該方法返回一個unicode對象,如果不是,比如數字,則返回一個TypeError
def __unicode__(self): return self.name
6、使用User.objects.all()方法返回的資料是QuerySet對象,這個集合是由資料表中的記錄組成的集合。
django中models和forms閱讀筆記