11)django-ORM(操作增删改查)


ORM从增删改查等方面说明

一:创建数据

  

    #创建数据两种方式1,推荐方式1
    UserInfo.objects.create(username="root",password="123")    
    
    #方式1变种
    
    user_dict={"username":"root","password":"123"}
    UserInfo.objects.create(**user_dict)
    
    #方式2
    obj=UserInfo(username="root2",password="123")
    obj.save()

二:查询数据

    result=UserInfo.objects.all()#返回的是QuerySet类型,其实就是个UserInfo对象列表
    for row in result:
        print(row.username,row.password)
    result1=UserInfo.objects.filter(username="root")

三:删除数据

  

UserInfo.objects.filter(username="root").delete()

四:更新数据

UserInfo.objects.filter(username="root").update(username="roo2")

五:元数据

    class User(models.Model):
        name=models.CharField(max_length,index=True)
        email=model.CharField(max_length,index=True)
        class meta:
            db_table="table_name"#数据库中生成的表名称 默认 app名称 + 下划线 + 类名
            

            #联合索引
            index_together=[
                ("name","email"),
                #联合索引支持最左前缀模式(上面单独索引可以不用建立,但是要考虑使用场景。因为单独最后一个字段查询是不能命中)
                #select * from where name="xx" 可以命中索引
                #select * from where name="xx" and emial="XX"可以命中索引
                #select * from where emial="XX" 不能命中索引
                #所以这是有代价,最后一个不能命中索引
            ]
            #联合唯一索引,和联合索引又加了限制唯一
            unique_together=[()]

            #admin中显示表的名称
            verbose_name

            #verbose_name加s
            verbose_name_plural

            verbose_name_plural="上课记录" django-admin中显示的是:上课记录s

优质内容筛选与推荐>>
1、《A_Pancers》团队作业6—团队项目系统设计改进与详细设计
2、深入理解js闭包
3、iOS 本地消息推送机制
4、已解决 Windows server 2012 R2开机进入cmd,关闭后黑屏问题
5、idea 常用快捷键及插件:


长按二维码向我转账

受苹果公司新规定影响,微信 iOS 版的赞赏功能被关闭,可通过二维码转账支持公众号。

    阅读
    好看
    已推荐到看一看
    你的朋友可以在“发现”-“看一看”看到你认为好看的文章。
    已取消,“好看”想法已同步删除
    已推荐到看一看 和朋友分享想法
    最多200字,当前共 发送

    已发送

    朋友将在看一看看到

    确定
    分享你的想法...
    取消

    分享想法到看一看

    确定
    最多200字,当前共

    发送中

    网络异常,请稍后重试

    微信扫一扫
    关注该公众号





    联系我们

    欢迎来到TinyMind。

    关于TinyMind的内容或商务合作、网站建议,举报不良信息等均可联系我们。

    TinyMind客服邮箱:support@tinymind.net.cn