添加模型并映射到数据库中:

1. 在 settings.py 中,配置好 DATABASES ,做好数据库相关的配置。

以mysql为例:

DATABASES = {
'default': {
'ENGINE': 'django.db.backends.mysql',
'NAME': 'testinfo',
'USER':'root',
'PASSWORD':'Chanyx0618',
'HOST':'127.0.0.1',
'PORT':'3306',
}
}

2. 在 app 中的 models.py 中定义好模型,这个模型必须继承自 django.db.models 。

例:

class ORM_Book(models.Model):
name=models.CharField(max_length=50,null=False)
author=models.CharField(max_length=20,null=True)
price=models.FloatField(default=0,null=False)
date=models.DateTimeField(default=datetime.now)

3. 将这个 app 添加到 settings.py 的 INSTALLED_APP 中。

NSTALLED_APPS = [
'django.contrib.admin',
'django.contrib.auth',
'django.contrib.contenttypes',
'django.contrib.sessions',
'django.contrib.messages',
'django.contrib.staticfiles',
'front',
'book',#这个是模型所在的APP
]

4. 在命令行终端,进入到项目所在的路径,然后执行命令 python manage.py makemigrations 来
生成迁移脚本文件。
5. 同样在命令行中,执行命令 python manage.py migrate 来将迁移脚本文件映射到数据库中。

数据操作:

首先要在views中添加视图并且导入模型

from .models import ORM_Book

,然后在urls中添加path

增:

def ORM_book_add(request):
book= ORM_Book(name='数字城堡',price='10',author='丹布朗')
book.save() 删:
def ORM_book_delete(request):
book=ORM_Book.objects.get(pk=5)
book.delete() 注意:删除的时候前面的查找方法用get和filter都可以,而且两个方法都可以用pk=【ID号】来查找
改:
def ORM_book_edit(request):
book=ORM_Book.objects.get(name='达芬奇密码')
book.price=50
book.save() 注意:这里不能使用filter查找,因为保存时会报错:

AttributeError at /edit_orm_book

'QuerySet' object has no attribute 'save'
查:
def ORM_book_search(request):
book = ORM_Book.objects.filter(pk=6)
filter方法返回的对象是:<QuerySet [<ORM_Book: <Book(数字城堡,丹布朗,10.0,2018-08-20 14:58:38.928982+00:00)>>]>
def ORM_book_search(request):
book = ORM_Book.objects.get(pk=6)
get方法返回的对象是:<Book(数字城堡,丹布朗,10.0,2018-08-20 14:58:38.928982+00:00)> 而且:
def ORM_book_search(request):
book = ORM_Book.objects.filter(pk=6)[0] 和
def ORM_book_search(request):
book = ORM_Book.objects.filter(pk=6).first()
都是返回的对象是:<Book(数字城堡,丹布朗,10.0,2018-08-20 14:58:38.928982+00:00)>

【Django】关于ORM的使用的更多相关文章

  1. python——Django(ORM连表操作)

    千呼万唤始出来~~~当当当,终于系统讲了django的ORM操作啦!!!这里记录的是django操作数据库表一对多.多对多的表创建及操作.对于操作,我们只记录连表相关的内容,介绍增加数据和查找数据,因 ...

  2. Python’s SQLAlchemy vs Other ORMs[转发 3]Django's ORM

    Django's ORM Django is a free and open source web application framework whose ORM is built tightly i ...

  3. 将SALT_STACK的JOB-CACHE放到数据库中,而建库用DJANGO的ORM完成

    下面包括了SALT_MASTER的配置,及DJANGO的ORM里更改默认表名称,更改默认字段名称(里面有个RETURN),更改默认ID索引... 一个下午有和它磨来磨去... 感谢鹏龙,感谢高远..: ...

  4. Django:之ORM、CMS和二维码生成

    Django ORM Django 的数据库接口非常好用,我们甚至不需要知道SQL语句如何书写,就可以轻松地查询,创建一些内容,所以有时候想,在其它的地方使用Django的 ORM呢?它有这么丰富的 ...

  5. Django的ORM实现数据库事务操作

    在Django中实现数据库的事务操作 在学习MySQL数据库时,MySQL数据库是支持原子操作的. 什么是数据库的原子操作呢??打个比方,一个消费者在一个商户里刷信用卡消费. 交易正常时,银行在消费者 ...

  6. 第十九章 Django的ORM映射机制

    第十九章 Django的ORM映射机制 第一课 Django获取多个数据以及文件上传 1.获取多选的结果(checkbox,select/option)时: req.POST.getlist('fav ...

  7. Django之ORM基础

    ORM简介 ORM概念 对象关系映射(Object Relational Mapping,简称ORM)模式是一种为了解决面向对象与关系数据库存在的互不匹配的现象的技术. 简单的说,ORM是通过使用描述 ...

  8. Django中ORM介绍和字段及其参数

    ORM介绍 ORM概念 对象关系映射(Object Relational Mapping,简称ORM)模式是一种为了解决面向对象与关系数据库存在的互不匹配的现象的技术. 简单的说,ORM是通过使用描述 ...

  9. ORM以及Django使用ORM创建表

    day61 2018-04-28 1. 内容回顾 1. HTTP协议消息的格式: 1. 请求(request) 请求方法 路径 HTTP/1.1\r\n k1:v1\r\n ...\r\n \r\n ...

  10. django的ORM

    在项目根目录下运行 python manage.py shell 即可进入django的交互shell界面 查询 from my_app.models import MyTestModel datas ...

随机推荐

  1. 29.Mongodb可视化工具 Studio 3t

    Studio 3T 链接地址:https://pan.baidu.com/s/1X-Sqk50Xm76NJIZOz0ehFw 密码:td2a 安装配置成功链接本地如图所示:

  2. python学习笔记_week16

    note 作业问题: 1.写页面觉得丑(布局) float,clear:both,margin,padding,position:left...网上找模板:HTML模板,BoostStrap 2.背景 ...

  3. python中的isalnum、isalpha、istitle、isspace、islower、isupper、isdigit

    isalnum()判断是否包含字母或者数字 isalpha()判断是否都是字母 istitle()判断每个单词首字母是否是大写 isspace()判断是否是空格 islower()判断字母是否全都是小 ...

  4. 序列化 (实现RPC的基础)

    public interface ISerializer { <T> byte[] serializer(T obj); <T> T deSerializer(byte[] d ...

  5. hive命令的执行方式

    1.通过cli直接执行 2.hive -e "hql" 如:[root@host ~]# hive -e "use gamedw;show tables" [r ...

  6. NDK samples以及部分博客

    谷歌的ndk samples Android NDK samples with Android Studio http://developer.android.com/ndk 引用C/C++文件请参考 ...

  7. canal 配置

    参考:https://www.2cto.com/database/201609/547661.html Spring配置 spring配置的原理是将整个配置抽象为两部分: xxxx-instance. ...

  8. Asp.Net前台调用后台变量

    1.Asp.Net中几种相似的标记符号: < %=...%>< %#... %>< % %>< %@ %>解释及用法 答: < %#... %&g ...

  9. 详述 IntelliJ IDEA 插件的安装及使用方法

    首先,进入插件安装界面: Mac:IntelliJ IDEA -> Preferences -> Plugins; Windows:File -> Settings -> Pl ...

  10. js ajax 数据获取

    在js中应用ajax 获取数据的方法,也写一个出来供复习所用 1.建议一个user.json 文件如下,保存名字为 user.json { "name": "huanyi ...