上周有学弟问我django后台的功能,周末空闲时间写了一个小案例,仅供学习参考
1.定义模型
通过django操作数据库,以学生表为例,学生信息包括学生姓名、性别、年龄
app文件夹下的models.py
文件
from django.db import models
# 定义一个学生模型
class Student(models.Model):
"""
s_name字段类型为charField写可变字符的,django是char类型,最大长度为10,unique代表是否唯一
s_age字段类型为IntegerField代表是int类型的,默认值是16
s_sex字段类型为布尔类型,默认值是1
"""
s_name = models.CharField(max_length=10, unique=True)
s_age = models.IntegerField(default=16)
s_sex = models.BooleanField(default=1)
"""
添加操作时间和创建时间字段
"""
operator_time = models.DateTimeField(auto_now=True)
create_time = models.DateTimeField(auto_now_add=True)
# 定义模型中数据库的表名
class Meta:
db_table = 'student'
2.数据迁移
将定义好的模型和字段迁移到MySQL中
python manage.py makemigrations
python manage.py migrate
3.查看表信息
在数据库django01中刷新表,产生一个新的表student
表中含有了id,s_name,s_age,s_sex等字段
4.配置admin.py
目的是在django后台中导入模型,模型的名字是student
from django.contrib import admin
from app.models import Student
# 在后台导入模型,模型名字叫student
admin.site.register(Student)
5.运行查看
此时登录django后台我们可以看到新增了学生student
这样就可以在后台对数据库进行操作了,这样就实现了没有写sql语句而是通过django后台完成了对表的增删改查操作。
6.操作测试
(1)添加记录
例如我们从web端手动添加一个记录并保存:
名字:孙悟空;年龄:30
在MySQL数据库刷新一下sql表,会看到添加了一条记录,上面有创建时间和修改时间
(2)修改记录
在web端django后台将孙悟空年龄修改成18,刷新一下数据库表,创建时间没有修改,操作时间修改成刚才改年龄的时间
查看后端MySQL对应的数据信息
(3)删除记录
此时查看MySQL数据库信息,记录已经删除
3.说明
a.一般情况下实际项目中一般不用django自带的后台
b.对数据的增删改查就是对模型的操作