Django数据库基本操作(MySQL)

以一个示例工程为例:

       下面是工程文件目录:

      

      untited为项目文件(一般与根目录同名),CommunityModel为一个定义数据库模型的APP

一、定义模型

1.首先配置好数据库,在untited的setting.py中修改数据库配置代码

2.创建App ,名为CommunityModel

django-admin startapp CommunityModel

并在执行上述命令生成的CommunityModel文件的models.py中添加下示代码,用以生成一张数据表

from django.db import models


class Article(models.Model):
    name = models.CharField(max_length=20)
    title = models.TextField()
    jianjie = models.TextField()
    article = models.TextField()
    time = models.DateTimeField(auto_now_add=True)
# Create your models here.

若要生成多张表,可以通过编写多个类实现。

3.根据模型,生成数据库

执行下列命令

python manage.py migrate 
python manage.py makemigrations TestModel
python manage.py migrate TestModel

命令执行成功后,查看数据库可以发现,生成下图所示 名为communitymodel_article的数据表

二、数据库操作

1.编写数据库操作方法

在untited目录下新建article.py,并编写数据库操作的相关代码。如下所示,为一个增加记录操作,一个查询操作(关于数据库基本操作之后介绍)。

from django.http import HttpResponse
from CommunityModel.models import Article
from django.db import connection
from django.http import JsonResponse

def _add(request):
    name1 = request.POST.get('name')
    title1 = request.POST.get('title')
    jianjie1 = request.POST.get('jianjie')
    article1 = request.POST.get('article')
    try:
        test1 = Article(name=name1, title=title1, jianjie=jianjie1, article=article1)
        test1.save()
        return JsonResponse(1, safe=False)
    except:
        return JsonResponse(0, safe=False)

def _query(request):
    list = Article.objects.all()
    return JsonResponse(list, safe=False)

在untited目录下的urls.py中增加url配置代码,使数据库操作的方法能通过url调用

 url(r'^addarticle$', article._add),
 url(r'^queryarticle$', article._query)

2.具体数据库操作

test1 = Article(name="name", title="title", jianjie="jianjie", article="article")
test1.save()

test1 = Article.objects.get(name="name")
test1.delete()

test1 = Article.objects.get(name="name")
test1.name = "user"
test1.title = "head"
test1.jianjie = "hello"
test1.article = "hello,world"
test1.save()            

list = Article.objects.all()
return JsonResponse(list, safe=False) #返回查询结果

参考文章:

    django对数据库的操作有很多方式,更多复杂具体的操作可以参考下列文章 :

原文地址:https://www.cnblogs.com/liqinglong/p/11153974.html