当前位置: 首页 > article >正文

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

1、创建项目

django-admin startproject PersonInfosProject

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

cd PersonInfosProject
python manage.py startapp

新建完成之后的目录结构

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

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

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应用加到项目中。

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

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

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.kler.cn/a/502133.html

相关文章:

  • RCE漏洞
  • 【TI毫米波雷达】DCA1000不使用mmWave Studio的数据采集方法,以及自动化实时数据采集
  • python-42-使用selenium-wire爬取微信公众号下的所有文章列表
  • 【HM-React】08. Layout模块
  • Termora 一个开源的 SSH 跨平台客户端工具
  • Wireshark使用
  • 饿汉式单例与懒汉式单例模式
  • 前端学习-事件对象与典型案例(二十六)
  • 25/1/13 算法笔记<嵌入式> 继续学习Esp32
  • uiautomator2 实现找图点击
  • 记一次学习skynet中的C/Lua接口编程解析protobuf过程
  • FreeSWITCH Sofia SIP 模块常用命令整理
  • 如何设计一个 RPC 框架?需要考虑哪些点?
  • 计算机网络 笔记 网络层1
  • 远程和本地文件的互相同步
  • 深度学习——pytorch基础入门
  • GPT 系列论文精读:从 GPT-1 到 GPT-4
  • 机器翻译优缺点
  • 2025第3周 | JavaScript中es7新增的特性
  • Kafka 超级简述
  • python中的if判断语句怎么写
  • 面向对象的基本概念
  • 如何选择 Dockerfile 的放置方式
  • Perl语言的语法
  • 【Git版本控制器--1】Git的基本操作--本地仓库
  • fastGpt 本地运行 mongo, 要加 directConnection=true 参数