程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
您现在的位置: 程式師世界 >> 編程語言 >  >> 更多編程語言 >> Python

Django模型(二)

編輯:Python

目錄

項目准備

4.數據庫操作

1.shell工具

2.數據庫操作-增、刪、改

2.1.增加

2.2.修改

2.3.刪除


項目准備

1.新建一個項目工程【bookmanger01】,應用為【book】(具體操作,看之前的文章)

在models.py 文件中定義模型類。

from django.db import models
# Create your models here.
# 准備書籍列表信息的模型類
class BookInfo(models.Model):
# 創建字段,字段類型...
name = models.CharField(max_length=20, verbose_name='名稱')
readcount = models.IntegerField(default=0, verbose_name='閱讀量')
commentcount = models.IntegerField(default=0, verbose_name='評論量')
class Meta:
db_table = 'bookinfo' # 指明數據庫表名
verbose_name = '圖書' # 在admin站點中顯示的名稱
def __str__(self):
"""定義每個數據對象的顯示信息"""
return self.name
# 准備人物列表信息的模型類
class PeopleInfo(models.Model):
GENDER_CHOICES = (
(0, 'male'),
(1, 'female')
)
name = models.CharField(max_length=20, verbose_name='名稱')
gender = models.SmallIntegerField(choices=GENDER_CHOICES, default=0, verbose_name='性別')
description = models.CharField(max_length=200, null=True, verbose_name='描述信息')
book = models.ForeignKey(BookInfo, on_delete=models.CASCADE, verbose_name='圖書') # 外鍵
class Meta:
db_table = 'peopleinfo'
verbose_name = '人物信息'
def __str__(self):
return self.name

插入信息:

insert into bookinfo(name, readcount,commentcount) values
('斗羅大陸', 12, 34),
('斗破蒼穹', 36, 40),
('武動乾坤', 20, 80),
('牧龍師', 58, 24);
insert into peopleinfo(name, gender, book_id, description) values
('唐三', 1, 1, '藍銀草'),
('小舞', 0, 1, '柔骨兔'),
('小剛大師', 1, 1, '羅三炮'),
('戴沫白', 1, 1, '邪眸白虎'),
('竹葉青', 0, 1, '幽冥貓'),
('蕭炎', 1, 2, '斗帝'),
('藥老', 1, 2, '半聖'),
('風尊者', 1, 2, '斗尊'),
('美杜莎女王', 0, 2, '斗宗'),
('林動', 1, 3, '武祖'),
('绫清竹', 0, 3, '九天太清宮宮主'),
('林貂', 1, 3, '天妖貂族少族長'),
('應歡歡', 0, 3, '冰主輪回者'),
('祝明朗', 1, 4, '牧龍師'),
('黎雲姿', 0, 4, '神凡念力師'),
('黎星畫', 0, 4, '預言師'),
('南玲紗', 0, 4, '畫師');

如圖:

4.數據庫操作

1.shell工具

Django的manage工具提供了shell命令,幫助我們配置好當前工程的運行環境(如連接好數據庫等),以便可以直接在終端【Terminal】中執行測試python語句。

當我們完成數據表的遷移之後,下面就可以通過進入項目的shell,進行簡單的API操作。如果需要退出項目,可以使用ctrl+d快捷鍵或輸入quit()。

通過如下命令進入shell

python manage.py shell

示例:

 打開shell後,在shell中導入模塊即可使用。

from book.models import BookInfo,PeopleInfo

2.數據庫操作-增、刪、改

2.1.增加

增加數據的兩種方法:

a、save方法:通過創建模型類對象,執行對象的save()方法保存到數據庫中。

示例代碼:

>>> from book.models import BookInfo,PeopleInfo
>>> book = BookInfo(
... name = '大主宰'
... )
>>> book.save()
>>> book
<BookInfo: 大主宰>

數據庫中查看:

b、create方法:通過模型類.objects.create()保存。

示例代碼:

PeopleInfo.objects.create(
... name = '牧塵',
... book = book
... )
<PeopleInfo: 牧塵>

2.2.修改

修改更新的兩種方法:

a、save方法:修改模型類對象的屬性,然後執行save()方法

代碼示例:

>>> person = PeopleInfo.objects.get(name='牧塵')
>>> person.name = '牧尊'
>>> person.save()
>>> person
<PeopleInfo: 牧尊>

b、update方法:使用模型類.objects.filter().update(),會返回受影響的行數

代碼示例:

>>> PeopleInfo.objects.filter(name='牧尊').update(name='洛璃')
1

2.3.刪除

刪除的兩種方法

1)模型類對象delete

>>> person = PeopleInfo.objects.get(name='洛璃')
>>> person.delete()
(1, {'book.PeopleInfo': 1})

 

2)模型類.objects.filter().delete()

>>> BookInfo.objects.filter(name='大主宰').delete()
(1, {'book.BookInfo': 1, 'book.PeopleInfo': 0})


  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式師世界 All Rights Reserved