>  기사  >  백엔드 개발  >  Python의 데이터베이스 Mysql에 대한 django의 추가, 삭제, 수정 및 쿼리 작업에 대한 자세한 설명

Python의 데이터베이스 Mysql에 대한 django의 추가, 삭제, 수정 및 쿼리 작업에 대한 자세한 설명

黄舟
黄舟원래의
2018-05-19 10:18:044161검색

다음 편집기는 Python 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(&#39;name&#39;)[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 = &#39;Google&#39;
  test1.save()

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

  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&#39;^$&#39;, views.home, name=&#39;home&#39;)
Class-based views
  1. Add an import: from other_app.views import Home
  2. Add a URL to urlpatterns: url(r&#39;^$&#39;, Home.as_view(), name=&#39;home&#39;)
Including another URLconf
  1. Import the include() function: from django.conf.urls import url, include
  2. Add a URL to urlpatterns: url(r&#39;^blog/&#39;, include(&#39;blog.urls&#39;))
"""
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&#39;^admin/&#39;, admin.site.urls),
  url(r&#39;^hello/+\d&#39;, views.hello),
  url(r&#39;^base/&#39;, views.base),
  url(r&#39;^testdb$&#39;, pollsviews.testdb),
  url(r&#39;^querydb$&#39;, pollsviews.selectDB),
  url(r&#39;^updateDB$&#39;, pollsviews.updateDB),
  url(r&#39;^deleteDB$&#39;, 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의 데이터베이스 Mysql에 대한 django의 추가, 삭제, 수정 및 쿼리 작업에 대한 자세한 설명의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.