首页
学习
活动
专区
圈层
工具
发布

Django ORM 单表操作

目录 Django ORM单表操作 Django 测试环境搭建 ORM 创建表 ORM 添加数据 ORM 查询数据 all 查询 filter 查询 exclude 取反查询 get 查询 order_by...ORM 修改数据 ORM 逆转到 SQL Django ORM单表操作 Django 测试环境搭建 注意pycharm链接数据库都需要提前下载对应的驱动,自带的sqlite3对日期格式数据不敏感,...() 直接使用pycharm提供的python console ORM 创建表 # Mysql配置 DATABASES = { 'default': { 'ENGINE': '...") ORM 双下划线方法 __in 类似sql的成员运算,用于读取区间,= 号后面为列表 注意:filter 中运算符号只能使用等于号 = ,不能使用大于号 > ,小于号 < ,等等其他符号...book_obj = models.Book.objects.filter(price__lte=100) __range 表示范围,在···之间,类似sql的between··and,左闭右区间,= 号后面为两个元素的列表

1.5K20
  • 您找到你想要的搜索结果了吗?
    是的
    没有找到

    Django进阶-3-ORM单表

    一、orm使用方式: orm操作可以使用类实例化,obj.save的方式,也可以使用create()的形式 二、QuerySet数据类型 QuerySet与惰性机制 所谓惰性机制:Publisher.objects.all...obj.title) # 惰性计算--->等于一个生成器,不应用books不会执行任何SQL操作 # query_set缓存机制1次数据库查询结果query_set都会对应一块缓存,再次使用该...update(name='云团') for author in authors: print(author.name) #但是有时候取出来的数据量太大会撑爆缓存,可以使用迭代器优雅得解决这个问题...、连接符(减号) CommaSeparatedIntegerField(CharField) - 字符串类型,格式必须为逗号分割的数字 UUIDField(Field) - 字符串类型...DateTimeCheckMixin, Field) - 时间格式 HH:MM[:ss[.uuuuuu]] DurationField(Field) - 长整数,时间间隔,数据库中按照bigint存储,ORM

    1.7K20

    django操作非ORM创建的表

    django--ORM连接已存在的表 问题: django的ORM怎么连接已存在的表,然后进行增删查改操作?...工作中会遇见很多二次开发的时候,表都是已经创建好的,用django的ORM进行二次开发,怎么操作数据库中的表呢?...(这里只写models.py相关配置) 第一次尝试: 根据tencent_depth的表结构,使用ORM连接的时候需要根据tencent_depth的表写表结构,需要一一对应 修改models.py文件...会报错找不到app_tencent_depth这个表,而我的表名为tencent_depth django的ORM连接表的时候,会自动在前面加上应用名(app_),就是创建应用时起的名字 第二次尝试:...虽然可以用django的ORM连接表了,但是却改了表名  (线上环境中,表和表之间肯定有很多关联的), 不能这么做 完美解决方案: 既然不能改tencent_depth表的名字,那么让django的orm

    1.8K20

    Django进阶-5-ORM连表查询

    一、反向连表查询 ① 通过object的形式反向连表 obj.小写表名_set.all() publish=models.Publish.objects.filter(name__contains='长沙...models.Book.objects.all() authorobj.book_set.add(*objects) authorobj.save() ③ 通过values双下滑线的形式 objs.values("小写表名...__字段") 注意对象集合调用values(),正向查询是外键字段__XX,而反向是小写表名__YY看起来 比较容易混淆; books=models.Publish.objects.filter(name...models.Book.objects.filter(title__icontains='云团').values('author__name') print(authors) filter()也支持__小写表名语法进行连表查询...=models.Publish.objects.filter(book__title='数据分析').values('name') print(publishs) 二 、利用双下划线将字段和对应的操作连接起来

    1.7K21

    使用Oracle中的emp,dept来学习Django ORM

    学习Django的时候,总是觉得这部分内容和实际的应用有一定的差别或者距离。...一方面Django自带的ORM对于底层数据库来说是一种适配性很强的组件,可以不强依赖于某一种数据库,sqlite,MySQL,Oracle,PG等等都可以,学习起来需要一定的周期。...常见的数据需求,这个需求有些大,怎么让他更通用呢,我想到了Oracle里面的emp,dept,自打学习数据库,很多的测试案例就和这两个表分不开,所以我们就从这个为切入点来逐步分析。...REFERENCES "dept" ("deptno")); CREATE INDEX "emp_d6b13549" ON "emp" ("deptno_id"); COMMIT; 简单确认下,我们就可以生成创建出来这两个表了...emp的表结构如下: ? dept的表结构如下: ? 我们初始化一下数据,这个时候直接使用SQL也可以.

    99960

    Django 使用 ORM 操作数据库详解

    数据库 ORM 数据库的表(table ) 类(class) 记录,行数据(record) 对象(object) 字段(field) 对象的属性(attribute) ORM相对原始SQL的优劣势 优势...对于复杂的SQL语句或数据库层面,推荐使用原始SQL 对于要处理复杂的业务逻辑,加快开发,推荐使用ORM ORM 相对 原始SQL在一般的业务中,损耗其实并不高,可以忽略不计 开发前准备 新建项目 ?...# abstract=False # 设置表权限 # permissions=(('定义好的权限', '权限说明'),) # 是否按照Django...'] = 'orm_baimoc.settings' # 设置项目的配置文件 django.setup() from ormbaimoc.models import Teacher, Course,...Student, TeacherAssisant def import_data(): """使用 Django ORM 导入数据""" # 讲师数据 Teacher.objects.create

    96120

    Django连接MySql使用models处理数据

    开始 创建工程 首先,使用一下代码创建一个名为DjangoModels的工程(读者可以根据需要设置自己的工程名): django-admin startproject DjangoModels 当然你也可以用...在mysql中创建名为djagnomodels的数据库 这里建议读者安装一个名为Navicat for MySql的软件,这是一个图形化管理MySql数据库的工具,可以让我们更简单的使用数据库。...当然我们也可以使用命令行执行相应的sql语句来创建我们所需要的数据库,这里就不在赘述了 同步数据库 cd到项目目录,在cmd中输入 python manage.py makemigrations python...请使用python manage.py syncdb 在数据库中增加几条数据以备测试 修改views.py对数据进行简单查询 myapp/views.py from django.shortcuts...有很多封装好的数据库操作,能让我们更方便的使用 我也总结了一份操作数据库的语句,有需要可以去查 修改urls.py djangomodels/urls.py from django.conf.urls

    1.3K20

    使用Django管理数据库表

    上节讲了如何利用Django建立自己的第一个网站 这节讲如何利用Django定义一个数据库的表并同步到MySQL中 最后讲述如何修改表结构 ---- 开发环境 操作系统:CentOS 7.3 Python...版本 :2.7 Django版本: 1.10.5 操作系统用户:oracle ---- ORM框架 Django采用ORM模型处理数据库关系 对象-关系映射(Object-Relational Mapping...,简称ORM),简单来说就是通过面向对象的方法来映射后端数据库 在后面的实例中会有介绍,它通过 类(class)的方式定义关系型数据库的表结构 ---- 首先看下整体的流程 ?...栏位(Field)和原数据库的对用请参考如下连接 https://docs.djangoproject.com/en/1.11/topics/db/models/ http://python.usyiyi.cn...添加完成后可以看到我们添加的信息 可以看到显示的mesarch为tnsname,为在models.py的oracelist类中unicode处定义,大家可根据需要自己修改 ---- 修改表结构 从Django

    83730

    使用Django管理数据库表

    上节讲了如何利用Django建立自己的第一个网站 这节讲如何利用Django定义一个数据库的表并同步到MySQL中 最后讲述如何修改表结构 开发环境 操作系统:CentOS 7.3 Python版本 :...2.7 Django版本: 1.10.5 操作系统用户:oracle ORM框架 Django采用ORM模型处理数据库关系 对象-关系映射(Object-Relational Mapping,简称ORM...栏位(Field)和原数据库的对用请参考如下连接 https://docs.djangoproject.com/en/1.11/ref/models/fields/ http://python.usyiyi.cn...添加完成后可以看到我们添加的信息 可以看到显示的mesarch为tnsname,为在models.py的oracelist类中unicode处定义,大家可根据需要自己修改 修改表结构 从Django前几个版本开始支持自动处理表结构的更改...下期将介绍如何利用Django建立我们的第一个页面

    94010

    Django框架003:orm与MySQL数据库的连接及踩坑记录

    mysqlclient 模块 Django支持mysqlclient 模块,通过它来连接mysql数据库大大节省了,我们使用pymysql模块库的一些繁琐的操作。...pip install mysqlclient ORM ORM可以帮助我们做两件事: 1.创建、修改、删除数据库中的表(不用写sql语句)但是【无法创建数据库,数据库必须我们手动在mysql中创建】...右键启动  cmd命令窗创建数据库 create database 数据库名字; 2.Djngo连接数据库 在setting.py文件中进行配置和修改。...django.contrib.messages', 'django.contrib.staticfiles', 'app01.apps.App01Config' ] 4.Djngo操作表...问题解决 1.降低我们Django模块库的版本 2.创新安装一个8版本级以上的mysql数据库 解决兼容问题后,重新运行命令:python manage.py migrate 数据库中的数据表  数据表的数据结构

    65930

    使用 Django 项目中的 ORM 编写伪造测试数据脚本

    脚本就是一段普通的 Python 代码,非常简单,但是通过这个脚本你将学会如何在 django 外使用 ORM,而不仅仅在 django 应用的内部模块使用。...首先设置 DJANGO_SETTINGS_MODULE 环境变量,这将指定 django 启动时使用的配置文件,然后运行 django.setup() 启动 django。...这是关键步骤,只有在 django 启动后,我们才能使用 django 的 ORM 系统。django 启动后,就可以导入各个模型,以便创建数据。...django 的 ORM API 生成博客用户、分类、标签以及一篇 Markdown 测试文章。...脚本逻辑很清晰,只对其中涉及的几个知识点进行讲解: fake = faker.Faker(),要使用 Faker 自动生成数据,首先实例化一个 Faker 对象,然后我们可以在脚本中使用这个实例的一些方法生成需要的数据

    1.5K10
    领券