zoukankan      html  css  js  c++  java
  • django 增删改查操作 数据库Mysql

    下面介绍一下django增删改查操作:

    1、view.py

    # -*- coding: utf-8 -*-
    from __future__ import unicode_literals
    from django.http import HttpResponse

    from polls.models import Test
    from django.shortcuts import render

    # Create your views here.
    # 解决乱码
    import sys
    reload(sys)
    sys.setdefaultencoding('utf-8')
    # 数据库操作
    def testdb(request):
    test1 = Test(name='温鸿雨2')
    test1.save()
    return HttpResponse("<p>数据添加成功!</p>")

    # 查询数据库
    def selectDB(request):

    # 通过objects这个模型管理器的all()获得所有数据行,相当于SQL中的SELECT * FROM
    list = Test.objects.all()
    returnvalue = []
    for v in list:
    returnvalue.append(v.name)
    print v.name

    print "++++++++++++获取单个对象++++++++++++++++++"
    # 获取单个对象
    response1 = Test.objects.filter(id=1)
    print response1
    for v1 in response1:
    returnvalue2 = "id : ", v1.id, " 姓名:", v1.name
    print returnvalue2

    print "++++++++++++限制返回的数据 相当于 SQL 中的 OFFSET 0 LIMIT 2;++++++++++++++++++"
    response2 = Test.objects.order_by('name')[0:2]
    returnvalue3 = {}
    for v2 in response2:
    returnvalue3[v2.id] = v2.name

    print returnvalue3.items()
    print "+++++++++++输出结果:++++++++++++++++++++++++++++++"
    return HttpResponse(returnvalue3.items())

    #修改数据可以使用 save() 或 update():
    def updateDB(request):
    # 修改其中一个id=1的name字段,再save,相当于SQL中的UPDATE
    test1 = Test.objects.get(id=1)
    test1.name = 'Google'
    test1.save()

    # 另外一种方式
    #Test.objects.filter(id=1).update(name='Google')
    # 修改所有的列
    # Test.objects.all().update(name='Google')

    return HttpResponse("更新数据成功")

    def deleteDB(request):
    # 删除id=1的数据
    test1 = Test.objects.get(id=3)
    test1.delete()
    return HttpResponse("删除数据成功")

    2、urls.py
    """pythondjango URL Configuration

    The `urlpatterns` list routes URLs to views. For more information please see:
    https://docs.djangoproject.com/en/1.11/topics/http/urls/
    Examples:
    Function views
    1. Add an import: from my_app import views
    2. Add a URL to urlpatterns: url(r'^$', views.home, name='home')
    Class-based views
    1. Add an import: from other_app.views import Home
    2. Add a URL to urlpatterns: url(r'^$', Home.as_view(), name='home')
    Including another URLconf
    1. Import the include() function: from django.conf.urls import url, include
    2. Add a URL to urlpatterns: url(r'^blog/', include('blog.urls'))
    """
    from django.conf.urls import url
    from django.contrib import admin
    from BlogDjango import views
    from polls import views as pollsviews, search, search2

    urlpatterns = [
    url(r'^admin/', admin.site.urls),
    url(r'^hello/+d', views.hello),
    url(r'^base/', views.base),
    url(r'^testdb$', pollsviews.testdb),
    url(r'^querydb$', pollsviews.selectDB),
    url(r'^updateDB$', pollsviews.updateDB),
    url(r'^deleteDB$', pollsviews.deleteDB),
    ]

    3、models.py

    # -*- coding: utf-8 -*-
    from __future__ import unicode_literals

    from django.db import models

    # Create your models here.

    class Test(models.Model):

    name = models.CharField(max_length=20)


  • 相关阅读:
    Linux:less 命令
    Linux:more命令
    图解linux安装tomcat(附常用命令)
    Linux下安装tomcat
    Linux数字权限解释
    Tomcat配置远程调试
    CentOS 设置静态IP 方法
    oracle procedure存储过程
    【转】vector中erase()的使用注意事项
    strstr()函数的使用
  • 原文地址:https://www.cnblogs.com/wenhongyu/p/7240972.html
Copyright © 2011-2022 走看看