Web框架开发-Django-数据库表的单表查询

一、添加表记录

对于单表有两种方式

方式一:

1

2

book_obj=models.Book(title="python全栈开发",price=100,publishData="2015-08-08", author='张三', publish='机械工业出版社')

    book_obj.save()

  

方式二:

1

2

# 方式二:

    models.Book.objects.create(title="java全栈开发",price=150,publishData="2018-08-08", author='李四', publish='人民出版社')

  

二、查询表记录

查询相关API

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

24

25

26

27

28

29

30

31

32

33

34

35

36

37

38

39

40

41

42

43

44

45

46

47

48

# 1、all():查看所有

   book_obj = models.Book.objects.all()

   print(book_obj)     # 打印的结果是QuerySet集合:<QuerySet [<Book: python全栈开发>, <Book: java全栈开发>]>

   # 2、filter():   可以实现且关系,但是或关系需要借助Q查询实现

   # 查不到的时候不会报错

   print(models.Book.objects.filter(title="python全栈开发"))   # 查询书名为“python全栈开发”

   print(models.Book.objects.filter(price="100", author="张三"))

   # 3、get():如果找不到就会报错,如果有多个值,也会报错,只能拿一个值

   print(models.Book.objects.get(title="python全栈开发"))  # 拿的是model对象

   # 4、exclude():排除条件

   print(models.Book.objects.exclude(title="python全栈开发"))  # 查看除了书名是"python全栈开发"的信息

   # 结果:<QuerySet [<Book: java全栈开发>, <Book: PHP全栈开发>, <Book: PHP全栈开发>, <Book: PHP全栈开发>, <Book: PHP全栈开发>]>

   # # 5、values():是queryset的一个方法(把对象转换成字典的形式)

   print(models.Book.objects.filter(title="python全栈开发").values("publish", "author"))   # 查看书名为“Python全栈开发”的出版社和作者

   # 结果:<QuerySet [{'publish': '机械工业出版社', 'author': '张三'}]>

   # 6、values_list():是queryset的一个方法(把对象转成元组形式)

   print(models.Book.objects.filter(title="python全栈开发").values_list("publish", "author"))

   # <QuerySet [('机械工业出版社', '张三')]>

   # 7、order_by():排序

   print(models.Book.objects.all().order_by("id"))

   # # 8、reverse():倒序

   print(models.Book.objects.all().reverse())

   # # 9、distinct():去重(只要结果里面有重复的)

   print(models.Book.objects.filter(title="PHP全栈开发").values("price").distinct())

   # 结果:<QuerySet [{'price': Decimal('100.00')}]>

   # # 10、count():查看有几条记录

   print(models.Book.objects.filter(title="PHP全栈开发").count())

   # # 11、first():返回第一条记录

   print(models.Book.objects.all().first())

   # 12、last():返回最后一条记录

   print(models.Book.objects.all().last())

   # 13、esits:查看有没有记录, 如果有返回True,没有返回False

   #   并不需要判断所有的数据

   if models.Book.objects.all().exists():

       print('ok')

查询表记录—模糊查询

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

ret=models.Book.objects.filter(price__gt=50, price__lt=150) # 查询价格在50到150之间的书籍信息

    print(ret)

    ret = models.Book.objects.filter(price__in=[100, 250, 300])   # 查询价格等于100,250,300的数据

    print(ret)

    ret = models.Book.objects.filter(title__startswith='p')     # 以“p”开头的书名

    print(ret)

    ret = models.Book.objects.filter(title__contains='y')   # 包括“y”的书名

    print(ret)

    ret = models.Book.objects.filter(title__icontains='p')  # 不区分大小写

    print(ret)

    ret = models.Book.objects.filter(publishData__year=2018, publishData__month=8)  # 出版年月为2018年8月的

    print(ret)

  

三、修改表记录:

1

2

ret = models.Book.objects.filter(title="PHP全栈开发").update(title="测试开发全栈开发")

    print(ret)

  

四、删除表记录

删除方法就是delete(),它运行时立即删除对象不返回任何值。

1

2

3

4

ret = models.Book.objects.filter(id="73").delete()

   print(ret)

    

   ret = models.Book.objects.filte

相关推荐

  1. Web框架开发-Django-数据库查询

    2024-03-24 14:40:04       19 阅读
  2. Django ORM 中查询 API(1)

    2024-03-24 14:40:04       27 阅读
  3. 数据库-查询-基本查询

    2024-03-24 14:40:04       7 阅读
  4. SQL查询

    2024-03-24 14:40:04       16 阅读
  5. 查询

    2024-03-24 14:40:04       11 阅读
  6. 数据库查询

    2024-03-24 14:40:04       19 阅读
  7. 数据库-查询-聚集函数

    2024-03-24 14:40:04       5 阅读

最近更新

  1. TCP协议是安全的吗?

    2024-03-24 14:40:04       16 阅读
  2. 阿里云服务器执行yum,一直下载docker-ce-stable失败

    2024-03-24 14:40:04       16 阅读
  3. 【Python教程】压缩PDF文件大小

    2024-03-24 14:40:04       15 阅读
  4. 通过文章id递归查询所有评论(xml)

    2024-03-24 14:40:04       18 阅读

热门阅读

  1. new world of dream

    2024-03-24 14:40:04       17 阅读
  2. flask项目部署

    2024-03-24 14:40:04       17 阅读
  3. MATLAB下载+安装教程

    2024-03-24 14:40:04       20 阅读
  4. Tomcat

    Tomcat

    2024-03-24 14:40:04      18 阅读
  5. 关于Mysql表中使用‘utf8mb4_unicode_ci’字符集问题

    2024-03-24 14:40:04       19 阅读
  6. 音频变压器电感的工艺结构原理及选型参数总结

    2024-03-24 14:40:04       17 阅读
  7. C++知识点总结(26):队列

    2024-03-24 14:40:04       15 阅读
  8. 【力扣】55.跳跃游戏、45.跳跃游戏Ⅱ

    2024-03-24 14:40:04       16 阅读