django+mysql 实现增删改查

照例,还是先看一下文件结构方便理解
在这里插入图片描述
在进行获取和保存的方法之前,需要在settings里进行数据库配置,在此不做过多展开,有需要的同学可以查询其他文章。

1.创建models

我们先在models文件中创建一张数据库表

from django.db import models

# Create your models here.
class User(models.Model):
    
    """
    创建用户表
    """
    gender = (
        ('male', '男'),
        ('female', '女'),
    )
    
    pic = models.FileField(upload_to='upload/pic/user/%Y/%m/%d', null=True, verbose_name="用户图片")
    realname = models.CharField(max_length=128, null=True, unique=True, verbose_name='真实姓名')
    nickname = models.CharField(max_length=128, null=True, unique=True, verbose_name='昵称')
    password = models.CharField(max_length=128, null=True, unique=True, verbose_name='密码')
    phone = models.CharField(max_length=128, null=True, unique=True, verbose_name='手机号')
    email = models.EmailField(unique=True, verbose_name='邮箱')
    sex = models.CharField(max_length=32, choices=gender, verbose_name='性别')
    c_time = models.DateTimeField(auto_now_add=True)
    
    # meta类是配合admin进行管理的
    class Meta:
        db_table = 'user'
        ordering = ['c_time']   # 默认正序,倒序的话是'-c_time'
        verbose_name = '用户信息'
        verbose_name_plural = verbose_name

然后再命令行中分别执行makemigrations和migrate
makemigrations:在migrations文件中生成表结构的py文件(此时不会在数据库中生成表)
migrate:在数据库中生成表
此时去查询数据库,可以看到
在这里插入图片描述

2.查询
def get_user(request):
    # 获取所有用户
    all_users = User.objects.all()
    
    # 获取有条件的获取用户
    user = User.objects.filter(nickname='lyn')
    
    return HttpResponse(user[0].nickname)

添加至urls,然后我们访问一下,可以看到查询的结果
在这里插入图片描述

3.保存

为方便,这里只添加两个字段做举例

def save_users(request):
    user = User()
    user.password = '66666'
    user.email = '[email protected]'
    
    # 调用save则保存数据到数据库中
    user.save()
    return HttpResponse('储存数据成功')

添加至urls,然后我们访问一下,可以看到“储存数据成功”
在这里插入图片描述
然后我们可以刷下一下mysql的结果
在这里插入图片描述
可以看到新的数据已经保存进来了!

4.修改
def update_user(request):
    User.objects.filter(password='66666').update(realname='rname', nickname='Lyn2')
    
    return HttpResponse('更新数据成功')

访问接口
在这里插入图片描述
然后刷新mysql,可以看到我需要修改的数据已经修改成功
在这里插入图片描述

5.删除
def delete_user(request):
    User.objects.filter(password='66666').delete()
    
    return HttpResponse('删除成功')

猜你喜欢

转载自blog.csdn.net/lt326030434/article/details/89304790