Django创建基本类型以及生成数据库结构这篇文章中,我们已经知道如何创建一个数据库了,但是数据库中没有数据,在这篇文章中,鳄鱼君将介绍一下数据库的一下基本的增删改查操作。你需要使用Navicat来查看我们的数据库表信息,没有的可以自行下载。

那么需要先把准备工作做好,创建一个orm函数用来专门练习操作,URL路由配置这些你需要提前完成,鳄鱼君还是在myapp1中配置,所以访问的路径就是:http://127.0.0.1:8000/myapp1/orm/,其它不做详细介绍。

数据库的增加

第一种方式
from django.shortcuts import HttpResponse
from myapp1 import models
def orm(request):
    #对数据库进行操作,几列数据就创建几列
    models.UserInfo.objects.create(
        username='鳄鱼君1号',
        password='1010',
    )
    return HttpResponse('<h1>This OK!</h1>')
第二种方式
def orm(request):
    #对数据库进行操作,几列数据就创建几列
    obj=models.UserInfo(username='鳄鱼君2号',password='2020')
    obj.save()
    return HttpResponse('<h1>This OK!</h1>')
第三种方式
def orm(request):
    #对数据库进行操作,几列数据就创建几列
    dic={'username':'鳄鱼君3号','password':'3030'}
    models.UserInfo.objects.create(**dic)
    return HttpResponse('<h1>This OK!</h1>')

然后在Navicat中刷新查看结果

数据库的删除

删所有和删部分
def orm(request):
    #删除
    #models.UserInfo.objects.all().delete() #删所有
    models.UserInfo.objects.filter(username='鳄鱼君1号').delete() #删所有

    return HttpResponse('<h1>This OK!</h1>')
查找所有

数据库的修改

更新所有
def orm(request):
    #更新
    models.UserInfo.objects.all().update(password='9999')  #更新所有

    return HttpResponse('<h1>This OK!</h1>')
过滤更新
def orm(request):
    #更新
    models.UserInfo.objects.filter(id=2).update(password='8888')  #过滤更新

    return HttpResponse('<h1>This OK!</h1>')

数据库的查找

查找所有
def orm(request):
    #查
    result=models.UserInfo.objects.all()
    print(result)  #QuerySet类型,django提供的类  简单理解为列表 列表中每一个都是UserInfo对象
    #每个对象中都存在id,username,password 取决于你写的什么
    #<QuerySet [<UserInfo: UserInfo object (1)>, <UserInfo: UserInfo object (2)>, <UserInfo: UserInfo object (3)>]>
    for row in result:
        print(row.id,row.username,row.password)
    return HttpResponse('<h1>This OK!</h1>')
过滤查找
def orm(request):
    #查 相当于where查询条件
    result=models.UserInfo.objects.filter(username='鳄鱼君1号')
    print(result)
    #<QuerySet [<UserInfo: UserInfo object (1)>]>
    for row in result:
        print(row.id,row.username,row.password)
    return HttpResponse('<h1>This OK!</h1>')

发表评论

后才能评论