照例,还是先看一下文件结构方便理解
在进行获取和保存的方法之前,需要在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@qq.com'
# 调用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('删除成功')