在PyCharm的Terminal下开启Shell模式,输入python manage.py shell指令即可,如下图所示。
如果Shell模式示符是“>>>”
可以安装IPython,如下图所示
此时,再进入Shell模式
下面准备针对商品类别表进行操作,表里目前有4条记录
在Shell模式下,若想对数据表commodity_types新增数据,则可输入以下代码实现
-
新增数据步骤:导入模型 —— 实例化 —— 属性赋值 —— 调用save()方法保存数据
-
查看commodity_types数据表,看是否新增一条记录
执行命令:t = Types.objects.create(firsts='儿童用品', seconds='婴儿车')
-
对应的SQL语句:INSERT INTO commodity_types (firsts, seconds) VALUES ('儿童用品', '婴儿车')
-
查看commodity_types数据表,看是否新增一条记录
依次执行下述命令
我们来处理一下这个讨厌的异常,打开D:Python38libasyncioproactor_events.py文件,在768行后面添加两行语句,如下图所示
查看commodity_types数据表,看是否新增一条记录
- 依次执行下述命令,调用有参构造方法实例化:t = Types(firsts='早教产品', seconds='格林童话')
- 查看commodity_types数据表,看是否新增一条记录
在执行数据新增时,为了保证数据的有效性,我们需要对数据进行去重判断,确保数据不会重复新增。以往的方案都是对数据表进行查询操作,如果查询的数据不存在,就执行数据新增操作。为了简化这一过程,Django提供了get_or_create方法。 - 在使用bulk_create之前,数据类型为模型Types的实例化对象,并且在实例化过程中设置每个字段的值,最后将所有实例化对象放置在列表或元组里,以参数的形式传递给bulk_create,从而实现数据的批量新增操作。
-
探索一下bulk_create()的返回值是什么东东
更新数据的步骤与数据新增的步骤大致相同,唯一的区别在于数据对象来自数据表,因此需要执行一次数据查询,查询结果以对象的形式表示,并将对象的属性进行赋值处理,代码如下:
第二条记录的firsts属性还是应该改成儿童服装
-
批量更新一条或多条数据,查询方法使用filter,filter以列表格式返回,查询结果可能是零条、一条或多条数据构成的列表
-
任务:将firsts为女装的值改为女孩用品
遍历查询集(QuerySet)



