以一個示例工程為例:
下面是工程文件目錄:
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對數據庫的操作有很多方式,更多復雜具體的操作可以參考下列文章 :
- Django進階Model篇—數據庫操作(ORM):https://www.cnblogs.com/happy-king/p/8338404.html