python django 增删改查操作 数据库Mysql

yipeiwu_com6年前Python基础

下面介绍一下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)

以上这篇python django 增删改查操作 数据库Mysql就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持【听图阁-专注于Python设计】。

相关文章

Python中常用操作字符串的函数与方法总结

例如这样一个字符串 Python,它就是几个字符:P,y,t,h,o,n,排列起来。这种排列是非常严格的,不仅仅是字符本身,而且还有顺序,换言之,如果某个字符换了,就编程一个新字符串了;...

Python的Tornado框架的异步任务与AsyncHTTPClient

高性能服务器Tornado Python的web框架名目繁多,各有千秋。正如光荣属于希腊,伟大属于罗马。Python的优雅结合WSGI的设计,让web框架接口实现千秋一统。WSGI 把应...

Django Docker容器化部署之Django-Docker本地部署

Django Docker容器化部署之Django-Docker本地部署

本章将在本地搭建一个容器化的 Django 项目,感受 Docker 的运作方式。 前期准备 开发环境 虽然有基于 Windows 的 Docker 版本,但各方面兼容做得都不太好(...

python 阶乘累加和的实例

阶乘:也是数学里的一种术语;阶乘指从1乘以2乘以3乘以4一直乘到所要求的数;在表达阶乘时,就使用“!”来表示。如h阶乘,就表示为h!;阶乘一般很难计算,因为积都很大。 提问:求1+2!+...

Python第三方库xlrd/xlwt的安装与读写Excel表格

前言 相信大家都应该有所体会,在平时经常会遇到处理 Excel 表格数据的情况,人工处理起来实在是太麻烦了,我们可以使用 Python 来解决这个问题,我们需要两个 Python 扩展,...