• Python Web开发学习-Django(8)数据的添加、获取和筛选


    添加数据

    方法一:使用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()返回的查询结果是以元组的形式展示的。

    关注个人公众号:测试开发进阶之路

      

  • 相关阅读:
    vim中自动添加文件的作者、时间信息、版本等
    linux shell ipaddress
    java ant学习
    ganglia rpm安装
    深入分析 Java 中的中文编码问题
    javaIO调优
    超强的vim设置
    linux中core文件的生成和配置
    C和C++ 语言动态内存分配
    Linux的常用命令
  • 原文地址:https://www.cnblogs.com/zengxuejie/p/14024420.html
Copyright © 2020-2023  润新知