Django 操作数据库

一:增删改查
接下来我们在 HelloWorld 目录中添加 testdb.py 文件(下面介绍),并修改 urls.py:
urls.py为访问哪个网址 里面定时跳到哪个接口 执行什么操作。

from django.conf.urls import url
from . import view,testdb,search,search2
from django.contrib import admin
urlpatterns = [
    # 第一个参数为链接地址 第二各参数为执行什么操作
    url(r'^$', view.hello),
    url(r'^testdb$', testdb.testdb),
    # add
    url(r'^selectdb$', testdb.select_testdb),
    # update
    url(r'^updatedb$', testdb.update_testdb),
    # delete
    url(r'^deletedb$', testdb.delete_testdb),
    # select
    url(r'^search-form$', search.search_form),
    url(r'^search$', search.search),
    url(r'^search-post$', search2.search_post),
    # django自带后台管理系统
    url(r'^admin/', admin.site.urls),
]


1.新建testdb.py文件 写操作
1).新增

# -*- coding: utf-8 -*-

from django.http import HttpResponse

from TestModel.models import Test,Car,Fly


# 增加操作 save 通过.save()
def testdb(request):
    # 新增不同的表 只需=不同的实体即可
    # test1 = Test(name='zs',pwd='11')
    # test1.save()

    car1 = Car(name='ww',length='50')
    car1.save()
    return HttpResponse("

数据添加成功!

")

2):查询

# 查询操作 select
def select_testdb(request):
    # 初始化
    response = ""
    response1 = ""

    # 通过objects这个模型管理器的all()获得所有数据行,相当于SQL中的SELECT * FROM
    # 所有数据
    list = Test.objects.all()

    # 上面的方法可以连锁使用 filter相当于SQL中的WHERE,可设置条件过滤结果
    list2 =  Test.objects.filter(name="qw").order_by("id")

    # 输出所有数据--循环list  输出条件过滤条件--list2
    for var in list2:
        response1 += var.name + " "
    response = response1
    return HttpResponse("

" + response + "

")

3.修改

# 数据库操作 修改  可以使用(save/update)两种方式
def update_testdb(request):
    # 方式一:用save的方式 修改其中一个id=1的name字段,再save,相当于SQL中的UPDATE
    # test1 = Test.objects.get(id=1)
    # test1.name = 'Google'
    # test1.save()


    # 方式二:用update的方式
    # 解释:把id为1的数据的name字段修改为zhuzhuxia
    Test.objects.filter(id=1).update(name='zhuzhuxia')
    # 修改所有的列 (把所有数据的name修改为Google)
    # Test.objects.all().update(name='Google')
    return HttpResponse("

修改成功

")

4.删除

# 数据库操作 删除
def delete_testdb(request):
    # 删除id=1的数据
    test1 = Test.objects.get(id=1)
    test1.delete()
    return HttpResponse("

删除成功

")

你可能感兴趣的:(Django)