model 使用了ORM技术
Object Relational Mapping 对象关系映射
将业务逻辑进行了一个解耦合
- object.save()
- object.delete()
先在 models.py 文件中
通过models定义实现数据库表的定义
class Student(models.Model):
s_name = models.CharField(max_length=16)
s_age = models.IntegerField(default=1)
但此时数据库中并没有Student表
在终端输入 python manage.py makemigrations 生成迁移文件
(
迁移数据,pycharm连接数据库
迁移的概念:就是将模型映射到数据库的过程
生成迁移:python manage.py makemigration
执行迁移:python manage.py migrate
)
然后在终端输入 python manage.py migrate 执行迁移文件,将迁移文件映射到库中
在views中实现逻辑处理
- 数据操作
- 增删改查
-
- 存储
- - save()
-
-
- 增加
def add_student(request):
student = Student()
student.s_name = "jerry"
student.save()
return HttpResponse("xxxxxxxx")
- 查询
- - 查所有 objects.all()
- - 查单个 objects.get(pk=xx)
-
def get_student(request):
students = Student.objects.all()
context = {"students":students}
return render(request,'student_list.html',context = context)
前端页面显示
<ul>
{% for student in students %}
<li>{{student.s_name}}</li>
{% endfor %}
</ul>
- 更新
- - 基于查询的
- - 查好的对象,修改属性,然后save()
def update_student(request):
student = Student.objects.get(pk=2)
student.s_name = "jack"
student.save()
return HttpResponse("xxxxxxxx")
- 删除
- - 基于查询的
- -调用 delete()
def del_student(request):
student = Student.objects.get(pk=2)
student.delete()
return HttpResponse("xxxxxxxx")