• DAY72-Django框架(三)


    一、orm简单介绍

    1.orm的功能

    可以创建数据表、对字段增删改。但是对数据库无法操作

    2.字段操作

    1.添加字段

    #1.在models.py已有的类中添加一段语句
    phone=models.CharField(max_length=64,default='120')
    #2.后执行数据库迁移的语句
    #3.如果没有设置默认值,数据迁移时会提示选项
    	#①是否要对添加的字段设置默认值。然后输入默认值就行
        #②关闭数据迁移,在models.py中设置默认值。
    #注:后来添加的字段需要有默认值
    

    2.删除字段

    ​ 在models.py中删除或注释该字段即可,在执行数据迁移

    3.修改字段

    ​ 在models.py中修改该字段即可,在执行数据迁移

    3.数据操作

    1.查询数据

    #查询所有数据
    res = models.User.objects.all()
    #得到的返回值是queryset对象(当成列表),列表里面,一个一个的对象[user1,user2]
    
    #查询指定数据
    #显示所有符合条件的数据
    models.User.objects.filter(id=id)
    #显示符合条件的数据的第一条
    models.User.objects.filter(id=id).first()
    

    2.修改数据

    models.User.objects.filter(id=id).update(name=name,password=pwd,address=addr)
    

    3.删除数据

    models.User.objects.filter(id=id).delete()
    #返回值是影响数据的行数
    

    4.插入数据

    #两种方式:
    #1 
    user=models.User.objects.create(name=name,password=pwd,address=addr)
    #2 
    user=models.User(name=name,password=pwd,address=addr)
    #返回值是一个对象
    user.save()
    

    4.多表操作

    # 一对多的关系确立,关联字段写在多的一方,orm自动在publish后面加id,publish_id
    publish = models.ForeignKey(to='Publish', to_field='id')
    # 多对多关系,orm会自动创建第三张表
    authors = models.ManyToManyField(to='Author')
    
  • 相关阅读:
    实验吧(你真的会PHP吗)CTF之代码审计最终版---解析是错的 我的才是对的
    php的intval函数
    memcached 查看所有的key
    kvm 启动libvirtd时出现错误
    mysql三种binlog日志的理解
    mysql连接提示1030
    执行curl -sSL 提示curl: (35) SSL connect error
    tomcat线程数查看
    docker 1.12.3版本搭建私有仓库,上传镜像报错:server gave HTTP response to HTTPS client”
    memcached安装
  • 原文地址:https://www.cnblogs.com/xvchengqi/p/9915612.html
Copyright © 2020-2023  润新知