• 单表查询的增删改查


    前端数据

    <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对象点修改 删除 会作用于对象内部所有的数据对象 类似于批量操作

  • 相关阅读:
    web api 特点
    码农
    到程序员短缺的地方生活,不要到过剩的地方凑热闹
    程序员也要寻找贸易的机会,要参加研讨会
    [Codeforces 863D]Yet Another Array Queries Problem
    [Codeforces 863C]1-2-3
    [Codeforces 864F]Cities Excursions
    [Codeforces 864E]Fire
    [Codeforces 864D]Make a Permutation!
    [Codeforces 864C]Bus
  • 原文地址:https://www.cnblogs.com/ruhai/p/10986839.html
Copyright © 2020-2023  润新知