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

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方法之后,这条数据将永久从数据库中删除

相关推荐
sg_knight2 小时前
Spring 框架中的 SseEmitter 使用详解
java·spring boot·后端·spring·spring cloud·sse·sseemitter
喵个咪5 小时前
初学者入门:用 go-kratos-admin + protoc-gen-typescript-http 快速搭建企业级 Admin 系统
后端·typescript·go
ID_180079054735 小时前
基于 Python 的 Cdiscount 商品详情 API 调用与 JSON 核心字段解析(含多规格 SKU 提取)
开发语言·python·json
Q_Q5110082856 小时前
python+django/flask+vue的大健康养老公寓管理系统
spring boot·python·django·flask·node.js
我是哈哈hh6 小时前
【Python数据分析】Numpy总结
开发语言·python·数据挖掘·数据分析·numpy·python数据分析
Michelle80236 小时前
24大数据 14-2 函数练习
开发语言·python
qq_381454996 小时前
Python学习技巧
开发语言·python·学习
Ndmzi6 小时前
Matlab编程技巧:自定义Simulink菜单(理解补充)
前端·javascript·python
用户21411832636026 小时前
手把手教你用Claude制作专属PPT生成器-从模板学习到自动生成全流程实战
后端
dagouaofei7 小时前
AI生成个性化年终总结PPT
人工智能·python·powerpoint