• django--orm--008


    单表的增删改查

    表结构

     代码表结构

    class Account(models.Model):
        """账户表"""
        username = models.CharField(max_length=64,unique=True)
        password = models.CharField(max_length=255)
        email = models.EmailField(unique=True,null=True,blank=True)
        register_date = models.DateTimeField(auto_now_add=True)
        signature = models.CharField("签名",max_length=255,null=True,blank=True)

    增加有2种方法

    方法一:

    a = Account(username="lisi11",password="123456",email="123456qwe@qq.com")
    a.save()

    方法二:

    Account.objects.create(username="lisi111",password="123456",email="123456qwe1@qq.com")

    实际编程,可以传个字典

    Account.objects.create(**dic)

    两种方法:

    没有区别,随意使用哪种

    
    

    更新有2种方法

    方法一:单对单,效率更高

    Account.objects.filter(username="li").update(email="test12345@126.com")

    方法二:get只能取一条记录,是0或者多条都会报错

    a = Account.objects.get(username="li")
    a.email="test12345888@126.com"
    a.save()

    删除方法

    Account.objects.filter(username='lisi111').delete()

    查询

    查询全部:

    book_list=Account.objects.all()

    查询切片

    查询前几条:

    book_list=Account.objects.all()[:3]

    隔几个取:

    book_list=Account.objects.all()[::2]

    倒叙:

    book_list=Account.objects.all()[::-1]

    查询第一个:

    book_list=Account.objects.first()

    查询最后一个:

    book_list=Account.objects.last()

    已字典形式展示值:

    book_list = Account.objects.filter(username='lisi').values("email")

    print(book_list)

    打印结果

    <QuerySet [{'email': '123456@qq.com'}]>

    book_list = Account.objects.filter(username='lisi').values("username","email")

    print(book_list)“

    打印结果

    <QuerySet [{'username': 'lisi', 'email': '123456@qq.com'}]>

    已元组形式展示值:

    book_list = Account.objects.filter(username='lisi').values_list("username","email")

    print(book_list)“

    打印结果

    <QuerySet [('lisi', '123456@qq.com')]

    除了某字段全显示:

    book_list = Account.objects.exclude(username='lisi').values("username","email")

    统计数:

    book_list = Account.objects.all().values("password").distinct().count()

    模糊查询:

    _gt大于等于

    _lt小于等于

    _contain 不区分小大写,包括,相当于like

    _range 相当于between…………and…………

    _in  在一个列表的范围

    _startswith,_endswith  以什么开头,以什么结束

    _istartswith,_iendswith 模糊以什么开头,以什么结束

    上班求生存,下班求发展
  • 相关阅读:
    我的word发布博客测试
    framework源码调试
    微软发布各个阶段的发布程序
    ora9客户端字符集
    现知道一服务器有合法ip,现在在远端应如何连接到这个服务器访问
    布式Oracle的database link
    怎样用delphi7中的SQLconnection组件远程连接Oracle数据库
    不用安装oracle客户端使用oracle
    有关linux下远程连接(转)
    如何限制某个用户只能FTP不能TELNET?
  • 原文地址:https://www.cnblogs.com/ljf520hj/p/11827897.html
Copyright © 2020-2023  润新知