目录
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, '画师');
如图:

Django的manage工具提供了shell命令,帮助我们配置好当前工程的运行环境(如连接好数据库等),以便可以直接在终端【Terminal】中执行测试python语句。
当我们完成数据表的迁移之后,下面就可以通过进入项目的shell,进行简单的API操作。如果需要退出项目,可以使用ctrl+d快捷键或输入quit()。
通过如下命令进入shell
python manage.py shell
示例:

打开shell后,在shell中导入模块即可使用。
from book.models import BookInfo,PeopleInfo
增加数据的两种方法:
a、save方法:通过创建模型类对象,执行对象的save()方法保存到数据库中。
示例代码:
- >>> from book.models import BookInfo,PeopleInfo
- >>> book = BookInfo(
- ... name = '大主宰'
- ... )
- >>> book.save()
- >>> book

数据库中查看:

b、create方法: 通过模型类.objects.create()保存。
示例代码:
- PeopleInfo.objects.create(
- ... name = '牧尘',
- ... book = book
- ... )

修改更新的两种方法:
a、save方法:修改模型类对象的属性,然后执行save()方法
代码示例:
- >>> person = PeopleInfo.objects.get(name='牧尘')
- >>> person.name = '牧尊'
- >>> person.save()
- >>> person

b、update方法:使用模型类.objects.filter().update(),会返回受影响的行数
代码示例:
- >>> PeopleInfo.objects.filter(name='牧尊').update(name='洛璃')
- 1

删除的两种方法
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})
