添加数据
方法一:使用save()方法
1.cmd进入到项目地址下,输入: python manage.py shell
2.引入创建的项目名称:from faqs.models import faqsdata
3.添加数据内容:d = faqsdata(question='test',answer='test')
4.保存:d.save()
5.查看是否添加成功:d.id,d.question,d.answer
方法二:使用creat()方法
1,2步骤与方法一 一致
3.添加数据内容:d=faqsdata.objects.create(question='test3',answer='test3')
4.查看是否添加成功(使用create方法不需要再另外保存):d.id,d.question,d.answer
获取数据和筛选数据
数据库现有数据
获取所有数据行
all()方法返回数据表中的所有数据,all()方法相当于SQL中的“select * from”命令
例如获取数据库中的所有行数据,代码如下:
ds = faqsdata.objects.all() for a in ds: print(a.id,a.question,a.answer)
获取排序数据-升序
order_by()方法返回升序,代码如下:
ds = faqsdata.objects.order_by('answer') for a in ds: print(a.id,a.question,a.answer)
获取排序数据-降序
在要降序的参数前加上‘-’号。
筛选数据
filter()方法按指定条件筛选,代码如下:
ds = faqsdata.objects.filter(question='test') for a in ds: print(a.id,a.question,a.answer)
faqsdata.objects.filter(question='test') 相当于“select * from aqs_fasdata where question=‘test’ ”。
exclude()方法和fiflter相反,它返回不满足条件的数据,代码如下:
ds = faqsdata.objects.exclude(question='test') for a in ds: print(a.id,a.question,a.answer)
faqsdata.objects.filter(question='test') 相当于“select * from aqs_fasdata where not question=‘test’ ”。
获取单个数据行
get()方法按条件搜索单个数据行,代码如下:
ds = faqsdata.objects.get(id="3") print(a.id,a.question,a.answer)
因为ds返回的是一个对象,所以不需要进行遍历,直接打印出来就可以了。
如果获取时有多个匹配结果,则会触发MultipleObjectsReturned异常。
如果没有匹配到结果,则会触发DoesNotExist异常。
values()和values_list()方法
values()查询的结果可以包含整个结果集,并以键值对的方式展示,代码如下:
也可以与all(),order_by(),exclude()和filter()方法结合使用。
values_list()返回的查询结果是以元组的形式展示的。
关注个人公众号:测试开发进阶之路