zoukankan      html  css  js  c++  java
  • 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 模糊以什么开头,以什么结束

    上班求生存,下班求发展
  • 相关阅读:
    sql 存储过程 in 的两种写法
    C# 开发Chrome内核浏览器(WebKit.net)
    IE6、IE7、IE8、Firefox兼容性
    360浏览器兼容模式 不能$.post (不是a 连接 onclick的问题!!)
    jquery树形表格实现方法
    C#递归累计到父行
    树形结构 DropDownList
    ASP.NET 防止重复提交提示层
    JavaScriptSerializer 时间格式化
    去标签获取网页内容
  • 原文地址:https://www.cnblogs.com/ljf520hj/p/11827897.html
Copyright © 2011-2022 走看看