以一个示例工程为例:

下面是工程文件目录:

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=)
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(, safe=False)
except:
return JsonResponse(, 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数据库基本操作(MySQL)的更多相关文章

  1. django数据库基本操作-增删改查(tip)-基本

    补充:django外键保存 #外键保存 form_data = Form_Data() project, is_created = Project_Name.objects.get_or_create ...

  2. Python之路【第十九章】:Django 数据库对象关系映射

    Django ORM基本配置 到目前为止,当我们的程序涉及到数据库相关操作时,我们一般都会这么搞: 创建数据库,设计表结构和字段 使用 MySQLdb 来连接数据库,并编写数据访问层代码 业务逻辑层去 ...

  3. Django/MySql数据库基本操作&ORM操作

    数据库配置: #第一步在settings里面 DATABASES = { 'default': { 'ENGINE': 'django.db.backends.mysql', 'NAME':'dbna ...

  4. Django Sqlite3 数据库向MySQL迁移

    整合了两个URL而来.. 1,http://www.phodal.com/blog/django-mezzanine-sqlite3-migrate-mysql/ 2,http://www.ziqia ...

  5. Error loading MySQLdb module: No module named 'MySQLdb'----------- django成功连接mysql数据库的方法

    在进行django学习过程中,尝试使用框架连接mysql数据库,启动服务器的时候经常遇到Error loading MySQLdb module: No module named 'MySQLdb' ...

  6. MySQL系列:数据库基本操作(1)

    1. 登录数据库 mysql -h localhost -u root -p 2. 数据库基本操作 2.1 查看数据库 mysql> SHOW DATABASES; +------------- ...

  7. django框架配置mysql数据库

    django配置mysql数据库: 1.首先更改django项目文件中的settings.py的数据库配置 DATABASES = { 'default': { 'ENGINE': 'django.d ...

  8. Linux下安装Python3的django并配置mysql作为django默认数据库(转载)

    我的操作系统为centos6.5 1  首先选择django要使用什么数据库.django1.10默认数据库为sqlite3,本人想使用mysql数据库,但为了测试方便顺便要安装一下sqlite开发包 ...

  9. Django中把SQLite数据库转换为Mysql数据库的配置方法

    我们在学习和开发Django的时候,一般是使用SQLite作为数据库.在正式讲网站部署上线是用MySQL数据库比较多.MySQL支持高并发的访问,而且相对于SQLite,MySQL性能更好.下面讲讲如 ...

随机推荐

  1. 苹果IPhone真机开发调试

    需要 在苹果开发网站 加入真机的UDID, 并在Profile中勾选该手机

  2. 第2课第2节_Java面向对象编程_封装性_P【学习笔记】

    摘要:韦东山android视频学习笔记  面向对象程序的三大特性之封装性:把属性和方法封装在一个整体,同时添加权限访问. 1.封装性的简单程序如下,看一下第19行,如果我们不对age变量进行权限的管控 ...

  3. org.apache.jasper.JasperException: The absolute uri: http://java.sun.com/jsp/jstl/core cannot be resolved in either web.xml or the jar files deployed with this application

    编程中遇到:org.apache.jasper.JasperException: The absolute uri: http://java.sun.com/jsp/jstl/core cannot ...

  4. linux中proz下载软件安装部署

    W系统里有迅雷这个下载工具,L系统里也一样有prozilla下面说一下CENTOS 5 系统里安装prozilla的过程1.首先在下面的链接下载最新稳定版本的prozilla 记得下tar包版本的[u ...

  5. WPF-支持异步操作的ObservableCollection-AsyncObservableCollection

    在进行WPF开发过程中,需要从一个新的线程中操作ObservableCollection,结果程序抛出一个NotSupportedException的错误 public class AsyncObse ...

  6. opencv3.4.6 cmake

    Selecting Windows SDK version to target Windows 10.0.16299. Found PythonInterp: N:/Anaconda3/install ...

  7. Source Insight解决回车缩进过多问题

    摘自:https://jingyan.baidu.com/article/02027811339e651bcc9ce53c.html   新安装的Source Insight软件在编写代码时,回车换行 ...

  8. Hive Essential (4):DML-project,filter,join,union

    1. Project data with SELECT The most common use case for Hive is to query data in Hadoop. To achieve ...

  9. centos 7 修改计算机名

      [root@centos7 ~]$ hostnamectl set-hostname test.xyz.com # 使用这个命令会立即生效且重启也生效 [root@centos7 ~]$ host ...

  10. JS的正则表达式限定开始和结尾等测试

    []:匹配该区间内人任意一个字符^:匹配以某内容开头的$:匹配以模拟内容结尾的字符\w:测试是英文字母,数字,下划线.{}:设置区间,可出现几次到几次该文学习和测试几个正则的方法,测试结果如图,不加多 ...