在應用models.py中設計模型類。
必須繼承與models.Model類。python
1)設計BookInfo類。
建立圖書類 一類web
class BookInfo(models.Model): # btitle:圖書名稱 models.CharField:字符串類型 max_length:最大長度 btitle = models.CharField(max_length=20) # bpub_data:圖書出版時間,須要用到日期類型 bpub_data = models.DateField()
2)設計HeroInfo類。
建立英雄人物類 多類sql
class HeroInfo(models.Model): # hname:英雄名 hname = models.CharField(max_length=20) # hgender:英雄性別 models.BoolenaField:布爾類型 default=False:默認值爲False hgender = models.BooleanField(default=False) # hcomment:備註技能 hcomment = models.CharField(max_length=120) # hbook:關係屬性 創建BookInfo與HeroInfo之間的一對多關係 hbook = models.ForeignKey("BookInfo")
Models.ForeignKey能夠創建兩個模型類之間一對多的關係,django在生成表的時候,就會在多端的表中建立一列做爲外鍵,創建兩個表之間一對多的關係。shell
模型類生成表
3)生成遷移文件
命令:python manage.py makemigrations
遷移文件是根據模型類生成的。
4)執行遷移生成表django
命令:python manage.py migrate
根據遷移文件生成表。
生成表名的默認格式:
應用名_模型類名小寫
sudo apt-get install sqliteman 安裝sqlite
框架
進入項目shell的命令:
python manage.py shell
如下爲在相互shell終端中演示的例子:
首先導入模型類:
from booktest.models import BookInfo,HeroInfosvg
一、向booktest_bookinfo表中插入一條數據。設計
>>> from booktest.models import BookInfo >>> b=BookInfo() >>> b.btitle = '三國演義' >>> from datetime import date >>> b.bpub_date = date(1990,10,10) >>> b.save()
>>> b2 = BookInfo.objects.get(id=1)
>>> b2.bpub_date = date(1989,10,21) >>> b2.save()
>>> b2.delete()
>>> from booktest.models import BookInfo,HeroInfo >>> b=BookInfo() >>> b.btitle='天龍八部' >>> from datetime import date >>> b.bpub_date=date(1990,10,10) >>> b.save() >>> h=HeroInfo() >>> h.hname="段譽" >>> h.hgender=False >>> h.hcomment='降龍十八掌' >>> h.hbook=b >>> h.save() >>> h2=HeroInfo() >>> h2.hname="喬峯" >>> h2.hcomment="六脈神劍" >>> h2.hbook=b >>> h2.save()
>>>BookInfo.objects.all()
1) 查詢出id爲2的圖書中全部英雄人物的信息。code
>>> b=BookInfo.objects.get(id=2) >>> b.heroinfo_set.all()
1)本地化
語言和時區的本地化。
修改settings.py文件。
2)建立管理員
命令:python manage.py createsuperuser
3)註冊模型類
在應用下的admin.py中註冊模型類。
告訴djang框架根據註冊的模型類來生成對應表的管理頁面。
b = BookInfo()
str(b) --------->bookinfo.object
str -------->return self.btitle
4)自定義管理頁面
自定義模型管理類。模型管理類就是告訴django在生成的管理頁面上顯示哪些內容。
sqlite