Django创建数据表、模型、ORM操作

server/2025/1/14 5:43:13/

1、创建项目

django-admin startproject PersonInfosProject

2、创建项目应用,进入PersonInfosProject文件夹,新建index应用,使用命令

cd PersonInfosProject
python manage.py startapp

新建完成之后的目录结构

3、新建数据模型,打开index文件夹下的models.py

python">from django.db import models# Create your models here.class PersonInfo(models.Model):id = models.AutoField(primary_key=True)name=models.CharField('姓名',max_length=100,blank=True)age=models.IntegerField('年龄',null=True)hireDate=models.DateField(auto_now=True)def __str__(self) -> str:return str(self.id)class Meta:verbose_name="人员信息"verbose_name_plural = '人员信息'

4、配置链接MySql数据库,打开settings.py文件,建立数据库地址,找到DATABASES配置,这里默认是使用sqlite3配置的现在改成mysql

python">DATABASES = {'default': {# 'ENGINE': 'django.db.backends.sqlite3',# 'NAME': BASE_DIR / 'db.sqlite3','ENGINE':'django.db.backends.mysql','NAME':'persons','USER':'root','PASSWORD':'root','HOST':'127.0.0.1','PORT':'3306'}
}

 将index应用加到项目中。

python">INSTALLED_APPS = ['django.contrib.admin','django.contrib.auth','django.contrib.contenttypes','django.contrib.sessions','django.contrib.messages','django.contrib.staticfiles','index' 
]

使用命令行将模型转化为数据库表,需要事先在mysql数据库中先建立persons数据库

python">python manage.py migrate  

出现下面提示说明表建立完成 

5、使用python mange.py shell 插入数据,首先使用命令进入shell模式

python manage.py shell

新建一条personInfo数据,比如像这样

from index.models import *p = Person(id=1,name="张三",age=12)
p.save()

简单的查询数据 ,打印第一条数据

persons = PersonInfo.objects.all()
persons[0].name

修改一条数据,将id=1这条数据的年龄修改一下

p = PersonInfo.objects.get(id=1)
p.age = 18
p.save()

最后一步要save一下保证数据修改成功。

删除一条数据,比如说删除id=1这条数据,和上面的修改命令基本类似

p = PersonInfo.objects.get(id=1)
p.delete()

注意使用delete方法之后,这条数据将永久从数据库中删除


http://www.ppmy.cn/server/158199.html

相关文章

“天上北斗+地上5G”,遨游北斗终端绘危急特场景通信新蓝图

天上的北斗地上的5G,可以擦出怎样的火花?在众多卫星系统中,北斗系统以其独特的RNSS和RDSS双模结构体制,不仅具备导航、定位和授时功能,更在RDSS双向短报文信息服务上实现了突破,成为全球首个集定位、授时与…

Linux系统编程之线程优先级

概述 在Linux系统中,线程优先级是影响多线程应用程序性能和响应速度的关键因素之一。通过合理设置线程优先级,可以确保关键任务得到及时处理,同时避免低优先级任务过度占用系统资源。 线程优先级是指操作系统根据一定的规则分配给每个线程的一…

机器学习与人工智能的关系

机器学习与人工智能的关系 一、人工智能二、机器学习2.1 机器学习与人工智能的关系2.2 机器学习的本质 三、其他玩艺 曾几何时,人工智能还是个科幻名词,仿佛只属于未来世界。如今,它已经渗透到了我们生活的方方面面,成为顶流。我们…

使用vue3、vite打包项目中组件库中的某一个组件,并将其推送至npm上

最近公司人手不够,老板将一个项目交给外包团队进行协助开发,老板又不希望外包团队可以看某些业务上的组件代码,让我解决这个问题;查找了一下解决方案,可以将组件类似于项目打包一样,将其打包成一个依赖组件…

Kubeflow:云原生机器学习工作流自动化开源框架详解

Kubeflow 是一个开源的 机器学习(ML)工作流自动化平台,旨在将机器学习工作流部署到 Kubernetes 之上,实现从实验到生产的一站式解决方案。它提供了针对容器化机器学习任务的工具链,能够自动化地管理、部署和监控模型的…

springboot整合gateway

1. 添加依赖 首先&#xff0c;在你的pom.xml文件中添加Spring Cloud Gateway的依赖&#xff1a; <dependency><groupId>org.springframework.cloud</groupId><artifactId>spring-cloud-starter-gateway</artifactId> </dependency> 如果…

Vue.js组件开发-如何使用day.js、luxon或date-fns处理日期时间

在Vue.js组件开发中&#xff0c;使用day.js、luxon或date-fns等现代日期处理库可以大大简化日期和时间的操作。 示例&#xff1a; 1.使用 day.js day.js 是一个轻量级的日期处理库&#xff0c;它的API设计与 moment.js 非常相似&#xff0c;但体积更小。 ‌安装‌ npm ins…

Http协议封装

Myhttp封装http协议 源代码 #include <iostream> #include <cstring> #include <string> #include <thread> #include <atomic> #include <fstream> // 添加文件操作头文件#ifdef _WIN32 #include <winsock2.h> #include <ws2t…