Django 里的增删改查

下面是步骤

  1. 先更新 urls.py 来添加新的url
from django.contrib import admin
from django.urls import path
from app01 import views

urlpatterns = [
    path('demo/', views.demo),
]
  1. 在 models.py 里创建表
from django.db import models

# Create your models here.
class UserInfo(models.Model):
    username = models.CharField(verbose_name="用户名", max_length=16)
    password = models.CharField(verbose_name="密码", max_length=64)
    age = models.IntegerField(verbose_name="年龄")

class Role(models.Model):
    title = models.CharField(verbose_name="标题", max_length=16)

  1. 运行migration的命令创建第2步里的表
python manage.py makemigrations

python manage.py migrate
  1. 在 views.py 里创建一个函数
def demo(request):
    from app01 import models 
    """
	#如果该app是在 apps 文件夹里,那么调用的时候得这么调用
	from apps.app01 import models
	"""

    # 1. 增加
    #models.Role.objects.create(title="管理员")
    #models.UserInfo.objects.create(username="root", password="123", age=18)
    models.UserInfo.objects.create(**{
        'username': 'dd',
        'password': '434',
        'age': 3
    })

    # 2. 删除
    #models.Role.objects.all().delete()  # 删除该表的所有数据
    #models.Role.objects.filter(id=1).delete()
    #models.Role.objects.filter(id=1, title="管理员").delete()


    # 3. 修改
    #models.UserInfo.objects.all().update(age=93)
    #models.UserInfo.objects.filter(id=1).update(age=20, password='23')  # 找到 id=1 的数据,将数据修改

    # 4. 查询
    # 返回的是 QuerySet 类型 = [obj, obj]
    v1 = models.UserInfo.objects.all()  # 查询所有的数据
    for obj in v1:
        print(obj.id, obj.username, obj.password, obj.age)

    v2 = models.UserInfo.objects.filter(age = 20)
    for obj in v2:
        print(obj.id, obj.username, obj.password, obj.age)

    v3 = models.UserInfo.objects.filter(id=3).first()
    if v3:
        print(v3.id, v3.username, v3.password, v3.age)

    return HttpResponse("测试")

  1. 可以通过查看 sqlite 的表看结果

请添加图片描述


如果在 views.py 文件里,出现类似下面这种错误

RuntimeError: Model class assetManagement.models.Admin doesn't declare an explicit app_label and isn't in an application in INSTALLED_APPS.

就代表在 views.py 文件里对应的函数没有 return

# 在 views.py 文件里

from apps.assetManagement import models

# Create your views here.
def example(request):
    models.Admin.objects.create(username="root", password="123")
    models.Admin.objects.create(username="root1", password="234")

    return HttpResponse("测试成功!")  # 添加这一行,就可解决问题

点个赞呗~

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/675008.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

毫米级精度3D人脸扫描设备,助推打造元宇宙虚拟分身

在元宇宙中,虚拟分身对应的是一个三维模型,数字化的过程则是三维重建过程,通过3D人脸扫描可以通过多相机同步采集人脸部,可快速、准确地重建出真人地脸部模型及贴图,通过3D人脸扫描设备可快速重建出高逼真的虚拟分身。…

BioTech - 使用 Kubeflow 多机多卡 运行 高精度蛋白质结构的迭代预测

欢迎关注我的CSDN:https://spike.blog.csdn.net/ 本文地址:https://blog.csdn.net/caroline_wendy/article/details/139418138 核心逻辑,参考:使用 循环(Recycle)迭代的蛋白质结构预测 获取 高精度结构 Kubeflow 是一个开源的 Kubernetes 原生框架,专注于简化、可移植和可…

【反悔贪心】算法讲解

目录 cf865D 环形喂猪 建筑抢修 cf865D 思路: 我们贪心的原则是尽可能的多卖,而且尽可能的卖的多。 整体的贪心思路就是能卖就卖,卖完后放入堆中(以便反悔),先不考虑能卖多少,因为堆是按照价…

02--nginx代理缓存

前言:比较常用的用法反向代理,和缓存的一些操作,用虚拟环境复刻出来,里面参数不用详细记录,用作复习,使用时直接查找即可。环境搭建过程参考前一篇文章nginx基础。 1、基础环境 IP角色作用192.168.189.143…

AWR设置工程仿真频率、原理图仿真频率、默认单位

AWR设置工程仿真频率、原理图仿真频率、默认单位 生活不易,喵喵叹气。马上就要上班了,公司的ADS的版权紧缺,主要用的软件都是NI 的AWR,只能趁着现在没事做先学习一下子了,希望不要裁我。 最近稍微学习了一下AWR这个软…

参加质量源于设计QbD培训能学到什么

近年来,产品质量已经成为了企业能否立足市场的关键。因此,质量源于设计(QbD)的理念应运而生,它强调在产品开发初期就注重质量设计,以最大限度地降低潜在风险,提高产品的稳定性和可靠性。参加质量…

诺亚财富——财富管理行业的进化逻辑

詹姆斯•卡斯的著作《有限与无限的游戏》中,传递出这样一种观点: “有限的游戏,其目的在于赢得胜利;无限的游戏,却旨在让游戏永远进行下去。有限的游戏在边界内玩,无限的游戏玩的就是边界。” 在商业社会…

我的app开始养活我了

大家在日常使用各类 app 时应该会发现,进入 app 会有个开屏广告,在使用 app 中,时不时的也会有广告被我们刷到。 这时候如果我们看完了这个广告,或者点击了这个广告的话,app商家就会获得这个广告的佣金。 这个佣金就是…

用WebStorm和VS Code断点调试Vue

大家好,我是咕噜铁蛋!。今天,我想和大家分享一下如何在WebStorm和VS Code这两款流行的开发工具中,使用断点调试Vue.js项目。Vue.js作为前端三大框架之一,以其轻量级和组件化的特性,受到了广大开发者的喜爱。…

18、matlab信号生成与预处理--剔除异常值:hampel()函数

1、语法 说明:对输入向量x应用Hampel滤波器来检测和去除异常值。 1)y hampel(x) 参数:x:输入信号 y:预处理的输出信号 对于x的每个样本,函数计算由样本及其周围的六个样本组成的窗口的中位数,每边三…

Linux下的Git应用及配置

1、卸载 2、安装 3、创建并初始化 4、配置 (附加删除语句) 5、查看(tree .git/) 6、增加和提交 7、打印日志 8、验证已操作工作

LeetCode刷题:反转链表

leetCode真题 206. 反转链表 属于基础简单题目 常见的做法有递归和while循环 递归 // 1. 递归参数和返回值public static ListNode reverseList(ListNode head) {// 1. 递归终止条件if (head null || head.next null) {return head;}// 递归逻辑ListNode last reverseL…

安全攻防知识——CTF之MISC

前言: 本周技术分享将介绍安全攻防知识中的MISC部分。MISC,中文即杂项,包括隐写、数据还原、脑洞、社会工程、压缩包解密、流量分析取证、与信息安全相关的大数据等。让我们一起来了解更多吧! 一)文件结构简介 1.常见…

手把手制作Vue3+Flask全栈项目 全栈开发之路实战篇 问卷网站(一)login页面

全栈开发一条龙——前端篇 第一篇:框架确定、ide设置与项目创建 第二篇:介绍项目文件意义、组件结构与导入以及setup的引入。 第三篇:setup语法,设置响应式数据。 第四篇:数据绑定、计算属性和watch监视 第五篇 : 组件…

Memory测试工具-lmbench使用详解

✨前言: 什么是lmbench? lmbench 是一个广泛使用的、开源的系统性能测量工具,它能对Unix-like操作系统(包括Linux、BSD等)进行全面的性能测试。这个套件包含了一系列针对不同系统组件(如处理器、内存、文件…

吴恩达2022机器学习专项课程C2W2:2.23 选修_反向传播算法的工作原理(什么是导数图计算大型神经网络)

目录 引言一.导数的计算1.epsilon与导数的关系2.其它导数符号形式3.导数小结 二.小型神经网络的计算图1.什么是计算图(前向传播过程)2.反向传播计算过程3.验证反向传播的计算结果4.为什么用反向传播计算导数? 三.扩大神经网络的计算图1.计算反…

迅狐短剧小程序源码:打造个性化的追剧体验

随着移动互联网的普及,短剧小程序源码的开发成为了影视爱好者的新宠。它不仅为用户提供了便捷的追剧体验,还通过推荐系统、观看历史、个性化喜好等特色功能,满足了用户的多样化需求。本文将深入探讨短剧小程序源码的特点、优势以及如何实现多…

Linux和windows之间文件传输解决方案

我们初学Linux时,经常会在windows下载软件或者文档,然后想办法从windows上传输到Linux上;还有Linux上的文件,我们想再Windows上储存,这时,就会用到Linux和windows之间文件传输!! 一…

ant X6高亮

先附上效果图 // 节点内属性的点击事件&#xff1a;node:port:click graph.on(‘node:port:click’, ({ node, port }) > { resetAllHighlights(); highlightPort(node, port, true); highlightEdgesForPort(port, new Set()); }); // 以下为源码 <template><div…

Win11下只支持IE浏览器的老网站顺畅运行的方法

在Windows 11操作系统中&#xff0c;由于Internet Explorer&#xff08;IE&#xff09;浏览器的逐步淘汰&#xff0c;微软官方已不再直接支持IE浏览器。然而&#xff0c;当您遇到必须访问仅支持IE的老旧网站时&#xff0c;Windows 11仍然提供了一些实用的替代方案来应对这一挑战…