ORM建表,及增,删,改,查

本文介绍了如何在Django中使用ORM进行数据库建表,包括手动创建数据库、配置settings.py、在models.py中定义模型以及通过命令同步到数据库。接着详细讲解了表的修改方法,强调新增字段不能为空。最后,文章展示了如何执行增、删、改、查等基础操作。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

Django中的ORM模型

通过ORM模型建表前的一些准备工作

1、手动创建数据库

create database 数据库名称

2、在Django项目里的setting.py配置上数据库的相关信息

DATABASES = {
    'default': {
        'ENGINE': 'django.db.backends.mysql',
        'NAME': 'djangomy',     # 数据库名称
        'HOST':'127.0.0.1',
        'PORT':3306,
        'USER':'xxxx',        # 用户名
        'PASSWORD':'xxxx'     # 密码
    }

django模块中创建表
1、创建一个新项目,找到里面的models.py。开始利用ORM模型创建表,
代码示例如下:

from django.db import models

class Essay(models.Model):
    #   AutoField映射到数据库中是int类型,可以有自动增长的特性
    id = models.AutoField(primary_key=True)
    #   CharField在数据库层面是varchar类型,使用时必须传一个max_length
    title = models.CharField(max_length=100)
    #    TextField大量的文本类型。映射到数据库中是longtext类型。
    content = models.TextField()
  
     # 自己定义表名,不用默认的
     class Meta: 
        db_table = "essay"
  

2、接下来将创建好的表格映射到数据库中:
在虚拟环境中给django发布两条命令:

python3 manage.py makemigrations

python3 manage.py migrate

3、在数据库中建好的表如下图:
在这里插入图片描述

表建好后的一些修改
建表完成后,如需修改一些字段:新增的字段需要重新映射到数据库中,
注意:新增字段默认不能为空

一些基础操作方法

对新建好的表执行增、删、改、查的操作:

在views.py中可进行如下操作,代码示例如下:

from django.shortcuts import render

# 导入之前创建的模块
from .models import Essay

#   增加
def add(request):
	essay = Essay(title="beng", content="A")
    essay.save()

#   删除
def delete(request):
	essay =essay.objects.get(pk=5)
	essay.delete()  # 执行该方法数据库中的数据也一并删除
    essay.save()
    
    '''
    若想不删除数据库中的数据,在表中添加一个is_delete,并给它附一个默认值
    is_delete = models.BooleanField(default=True)
    # 执行删除操作
    essay =essay.objects.get(pk=5)
    essay.is_delete = 0  # 将is_delete值修改为0,在数据库中1则表示数据存在,0不存在
    essay.save()
 
    '''

#   修改
def updata(request):
	# 修改的第一中方法
	essay = Essay.objects.filter().update(title="xxx") 
	#修改的第二张方法
    essay = Essay.objects.get(id=1) 
    essay.title = "xxx"
    essay.save()

# 查找
def find(request):
	essay = Essay.objects.all() # 获取全部
    essay = Essay.objects.get(条件)  # 不满足条件就报错|返回的是一个对象
    essay = Essay.objects.filter(条件) # 不满足条件不报错,但是返回的结果是一个对象的列表
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值