zoukankan      html  css  js  c++  java
  • 单表查询的增删改查

    前端数据

    <input type="text" placeholder="Username" name ='username'>
    <input type="password" placeholder="Password" name = 'password'>
    

    新增数据

    # 操作数据库user表插入数据
    # 方式1:
    user_obj = models.User.objects.create(name=username,password=password)
    
    
    # 方式2:
    user_obj = models.User(name=username,password=password)
    user_obj.save()  
    # 对象调用save方法保存到数据库
    

    删除数据

    models.User.objects.filter(id=1).delete()  # 会将queryset所有的数据对象全部删除
    
    

    查询数据

    获取user表所有的数据,返回的是QuerySet对象

    user_list = models.User.objects.all()  
    

    获取内部查询语句

    只要是QuerySet就可以点query查看获取到当前QuerySet对象的内部SQL语句

    print(user_list.query) 
    

    QuerySet对象支持索引取值 ,但是没有值会报错

    推荐使用自带的.first()帮你获取第一条数据

    user_list = models.User.objects.filter(id = edit_id).first()
    

    修改数据

    要修改数据必须要有个数据能够查询到相关数据,可以在前端里放隐藏的input标签,

    
    <input type="text" placeholder="Username" name ='username'>
    <input type="password" placeholder="Password" name = 'password'>
    <input type="hidden" name="edit_id" value="{{ user_obj.pk }}">
    

    或者直接在POST请求里面加入主键,然后通过后台数据得到

    <form action="/edit/?edit_id={{ user_obj.pk }}" method="post">
    
    方式1:
    models.User.objects.filter(id=edit_id).update(name=username,password=password)
    
    方式2:获取到当前数据对象
    user_obj = models.User.objects.filter(id=edit_id).first()
    user_obj.name = username
    user_obj.save()
    
    

    注意:QuerySet对象点修改 删除 会作用于对象内部所有的数据对象 类似于批量操作

  • 相关阅读:
    CentOS安装thrift
    6个用于大数据分析的最好工具
    我的助理辞职了!——给不听话的下属看看
    用Redis bitmap统计活跃用户、留存
    Java从入门到精通——数据库篇Oracle 11g服务详解
    Java从入门到精通——数据库篇之OJDBC版本区别
    非常有用!eclipse与myeclipse恢复已删除的文件和代码
    Redis 代理服务Twemproxy
    Redis集群明细文档
    正则表达式
  • 原文地址:https://www.cnblogs.com/ruhai/p/10986839.html
Copyright © 2011-2022 走看看