首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

DjangoORM介绍和字段及其参数

ORM的优势   ORM解决的主要问题是对象和关系的映射。 数据库的表对应; 的每个实例对应表的一条记录; 的每个属性对应表的每个字段。...ORM提供了对数据库的映射,不用直接编写SQL代码,只需像操作对象一样数据库操作数据。 软件开发人员专注于业务逻辑的处理,提高了开发效率。...通常,一个模型(model)映射到一个数据库表, 基本情况: 每个模型都是一个Python,它是django.db.models.Model的子类。 模型的每个属性都代表一个数据库字段。...若提供该选项, 该模块将拥有一个 get_latest() 函数以得到 "最新的" 对象(依据那个字段): get_latest_by = "order_date" managed 由于Django会自动根据模型生成映射的数据库表...permissions permissions主要是为了在Django Admin管理模块下使用的,如果你设置了这个属性可以指定的方法权限描述更清晰可读。 要创建一个对象所需要的额外的权限.

2.8K80

小白学Django第四天| Django后台管理及配置MySQL数据库

配置MySQL数据库 1. 后台管理 当我们在开发一个网站的时候,我们往往需要对数据表的数据进行增删改查。...(图取自第一天学习) 上图中的文件admin.py正是后台管理相关的文件,具体如何使用这个Django后台管理,看下文: 1、首先,我们需要去修改setting.py文件,这个文件里包含着整个项目的总体配置...4、注册模型 进入之后我们会发现什么都没有,所以接下来我们需要在应用下admin.py文件中注册模型,相应的Django会根据注册的模型生成对应的管理页面。...我们刷新后台会发现多出了我们刚刚注册的模型: 点进去看,会发现有两个对象: 我们可以通过重写模型的str方法,使这里更加直观的显示书名 这两个对象就是我们在之前文章中所添加的两本书籍信息: 在后台管理页面...,我们可以非常快捷的给模型增添新的数据: 页面上的增添、修改、删除也都是可以通过命令实现的,只不过Django框架提供了这种快速而且方便的方式。

1.4K31
您找到你想要的搜索结果了吗?
是的
没有找到

后端框架学习-Django

一个模型代表数据库的一张数据表 模型一个类属性都代表数据库一个字段 模型是数据交互的接口,是表示和操作数据库的方法和方式。...根据设计的模型生成数据库的表格。 通过简单的配置就能更换数据库引擎。 优点: 只需要面向对象编程,简化了向数据库编写代码的流程。 实现了数据模型数据库的解耦,屏蔽了不同数据库操作上的差异。...映射图: ORM———->DB ———->数据表 对象——–>数据行 属性——–>字段 数据库迁移: 迁移是Django同步您对模型所做出的更改(添加字段,删除模型等)到您的数据库模式的方式。...ORM-创建数据 增删改查 ORM CRUD核心:模型.管理器对象 管理器对象一个models.Model的模型,都会有一个objects对象被同样继承下来,这个对象叫做管理器对象。...2.完全跨过模型操作数据库 导入 from django.db import connection 用创建cursor的构造函数创建cursor(游标)对象,为保证在出现异常能够释放cursor,

9.3K40

Django—入门

在ORM框架,它帮我们把和数据表进行了一个映射,可以让我们通过对象就能操作它所对应的表格的数据。...django内嵌了ORM框架,不需要直接面向数据库编程,而是定义模型,通过模型对象完成数据表的增删改查操作。...使用django进行数据库开发的步骤如下: 1.在models.py定义模型 2.迁移 3.通过对象完成数据增删改查操作 下面我们以保存图书信息为例来给大家介绍Django中进行数据库开发的整个流程...迁移由两步完成: 1.生成迁移文件:根据模型生成创建表的迁移文件。 2.执行迁移:根据第一步生成的迁移文件数据库创建表。...Django框架根据我们设计的模型生成了迁移文件,在迁移文件我们可以看到fields列表一个元素跟BookInfo类属性名以及属性的类型是一致的。

1.8K10

Django 1.10文文档-第一个应用Part2-模型和管理站点

如果你不需要它们的任何一个或所有应用,可以在运行migrate之前INSTALLED_APPS自由地注释或删除相应的行。...在这个投票应用,我们将创建两个模型: Question和Choice。Question对象具有一个question_text(问题)属性和一个publish_date(发布时间)属性。...每个模型一个子类django.db.models.Model的表示。每个模型都有一些变量,每个变量表示模型数据库字段。...就是使你的数据库模式和你改动后的模型进行同步。 迁移功能非常强大,可以让你在开发过程不断修改你的模型而不用删除数据库或者表然后再重新生成一个新的 —— 它专注于升级你的数据库且不丢失数据。...让我们来修复这个问题,Django在打印对象显示一些我们指定的信息。

2.3K60

Django篇(一)

简单整理一下思路: 比如一个登陆网页(也就是视图),点击登陆的时候,将账号和密码发送到MVC框架的控制器(Controller),我们控制器中进行处理,需要去查询数据库,但是这里不会直接去操作数据库...当我们访问出现: ? 说明我们已经把项目运行起来了。 ORM框架 意思就是对象关系映射。 Django内置ORM框架。运用这个框架让我们在操作数据库的时候更简单。...不用再写一些简单的Sql语句,通过创建一个,来一一对应数据库中表的字段。 通过操作来操作数据库的表。所以在Models中就写和数据库中表,字段一样的。...6、注册模型admin.py中注册模型,来帮助我们生成对应的管理页面。 对我们的stuinfo表进入注册。...删除,修改,查询的操作。 自定义管理页面 在admin.py创建自定义管理的 ? 注意:list_display这个名字只能写这个名字。 我们的管理页面就会变成: ?

1K30

Django 1.10文文档-第一个应用Part7-自定义管理站点

admin.site.register(Question, QuestionAdmin) 你可以参照上面的形式,创建一个模型,将之作为第二个参数传入admin.site.register()。...它页面看起来像下面的样子: ? 添加关联对象 现在Question的管理页面有了,但是一个Question应该有多个Choices。而此时管理页面并没有显示。现在有两个方法可以解决这个问题。...在我们的例子,目前只有一个question对象存在。 请注意图中的绿色加号,它连接到Question模型。每一个包含外键关系的对象都会有这个绿色加号。...如果在创建Question对象的时候就可以直接添加一些Choice,那样操作将会变得简单些。 删除Choice模型对register()方法的调用。...}, ] DIRS是在加载Django模板检查的文件系统目录列表;它是一个搜索路径。

3.6K60

Django流程_菜鸟裹裹收费标准

import models 模型要继承models.Model 6、在数据库中生成数据表 a、生成迁移文件 b、执行迁移 7、测试数据操作 a、进入到python shell b、执行:python.../F 4、目录层级说明 manage.py 一个命令行工具,可以你以各种方式与该Django项目进行交互 init.py 一个文件,告诉Python该项目是一个Python包 settings.py...默认使用Sqlit数据库 在setting.py文件,通过DATABASE选项进行数据库配置 a、配置MySQL python3.x安装的是PyMySQL 在__init__.py文件写入两行代码...4、激活应用 在setting.py文件,讲myApp应用加入到INSTALLED-APPS选项 5、定义模型 概述:有一个数据表,就应该对应一个模型 在models.py定义模型 引入...,并且值为自动增加 6、在数据库中生成数据表 a、生成迁移文件 执行:python manage.py makemigrations 在migrations目录下生成一个迁移文件,此时数据库还没有生成数据表

1.3K30

python技术面试题(二十三)

git 1.查看当前 git 仓库的状态: git status 2.什么时候使用 git stash: 暂存 3.如何 git 删除文件,并将其文件系统删除: # 删除文件 rm 文件名...web 框架 1.在 Django 如果有一些复杂的 SQL 指令,怎么使用原生的 SQL 命令: 第一种方式:使用游标进行操作 from django.db import connection #...功能: 1.视图中 request 对象不再是 Django 原始的 HTTPRequest 对象,而是由 DRF 框架封装成的 Request 对象。...ES 1.Elasticsearch 是怎么样的数据库,数据是如何存储的? 答:Elasticsearch 是面向文档型数据库,一条数据在这里就是一个文档,用JSON作为文档序列化的格式。...索引相当于关系型数据库数据库,类型对应关系型数据库的表,文档对应关系型数据库的记录。 2.项目中是如何向其中添加数据的?

1.1K10

【Python全栈100天学习笔记】Day41 Django深入理解框架

至此我们还没有看到之前创建的模型,需要在应用的admin.py文件模型进行注册。 注册模型。...可能大家已经注意到了,刚才在后台查看部门信息的时候,显示的部门信息并不直观,为此我们再修改admin.py文件,通过注册模型管理,可以在后台管理系统更好的管理模型。...使用ORM完成模型的CRUD操作 在了解了Django提供的模型管理平台之后,我们来看看如何代码层面完成对模型的CRUD(Create / Read / Update / Delete)操作。...不要将数据文件放在同一个目录。...on_delete:外键关联的对象删除对应的动作,可取的值包括django.db.models定义的: CASCADE:级联删除

2.2K30

37.Django1.11.6文档

这个永远不会单独使用,所以你要使用抽象的基。 如果你继承一个已经存在的模型且想每个模型具有它自己的数据库表,那么应该使用多表继承。...实例化、处理和渲染表单 在Django 渲染一个对象,我们通常: 在视图中获得它(例如,数据库获取) 将它传递给模板的context 使用模板变量将它扩展为HTML 标记 除了几个关键点不同之外...在模型实例不包含数据的情况下,在模板对它做处理很少有什么用处。 但是渲染一个未填充的表单却非常有意义 —— 我们希望用户去填充它。 所以当我们在视图中处理模型实例,我们一般数据库获取它。...当我们实例化表单,我们可以选择它为空还是预先填充它,例如使用: 来自一个保存后的模型实例的数据(例如用于编辑的管理表单) 我们其它地方获得的数据 从前面一个HTML 表单提交过来的数据 获取HTML...基于这个原因,Django 提供一个辅助你可以Django模型创建Form。

24.3K80

Django框架学习(四)

两大特性: 1、惰性查询:只有在使用查询集中的数据才会进行数据库真正查询操作 2、查询结果的缓存:如果使用同一个查询集,只有在第一次使用查询集时会进行数据库的查询操作,然后Django框架就会把查询的结果存起来...3.admin站点 Django框架提供了一个admin站点,可以用户来管理网站的数据表的内容。...定义模型admin的管理,继承于admin.ModelAdmin 2)admin.site.register(模型,admin管理) 3)在Admin管理通过对应的类属性控制admin界面内容...使用: 1、在配置文件设置配置项MEDIA_ROOT=‘上传文件的保存目录’ 2、定义模型,图片字段的类型使用’imageField’ 3、迁移生成表,并在admin.py注册模型,直接登录admin...,是因为我们删除数据库里面的表格,我们需要执行以下下面的操作: # 先进入我们的数据库,然后选择这个表 select * from django_migrations; # 将我们的迁移过的文件加到这张表里

1.5K41

【云+社区年度正文】Django入门到精通No.2----模型

django入门到精通No.2----模型 一、前言 学过orm系统自然之道模型的重要性,很多web站点都需要与数据库交互,这个时候模型的设计就显得尤为重要,一个好的模型会使得项目方便管理并且易于维护...,比如我们学过的flask,里面的sqlalchemy就是这样一个优秀的模块,通过它可以快速和数据库建立通道,从而使得web编程更为高效,本文主要讲解django模型。...必填参数primary_key=True,则成为数据库的主键,无该字段django自动创建,一个model不能有两个该字段。...有两个额外的可选参数: auto_now ,每次保存对象自动设为当前日期 auto_now_add ,创建对象自动设为当前日期。...# 默认创建第三张表数据库中表的名称 3.一对一 一对一其实就是 一对多 + 唯一索引,当两个之间有继承关系,默认会创建一个一对一字段,一对一使用OneToOneField来实现,如下: from

2.1K00

django 1.8 官方文档翻译: 1-2-1 编写你的第一个Django应用,第1部分

若不一致,你可以参考 Django 版本对应的教程或者更新 Django 到最新版本。 请参考 如何安装 Django 的意见先删除旧版本的 Django 再安装一个新的。...在 Django 编写一个数据库支持的 Web 应用的第一步就是定义你的模型本质上讲就是数据库设计及其附加的元数据。 哲理 模型是有关你数据的唯一且明确的数据源。...Django 遵循 DRY 原则 。目标是为了只在一个地方定义你的数据模型就可从中自动获取数据。 在这简单的投票应用,我们将创建两个模型: Poll 和 Choice。...每个模型都由继承自 django.db.models.Model 子类的来描述。 每个模型都有一些变量,每一个变量都代表了一个数据库字段。...We use 我们在这里使用 unicode() 是因为 Django 模型默认处理的是 Unicode 格式。当所有存储在数据库的数据返回都会转换为 Unicode 的格式。

96420

django 1.8 官方文档翻译: 2-3-1 模型实例参考

Django 如何知道是UPDATE 还是INSERT 你可能已经注意到Django 数据库对象使用同一个save() 方法来创建和改变对象。...它只在数据库删除这个对象;其Python 实例仍将存在并持有各个字段的数据。 更多细节,包括如何批量删除对象,请参见删除对象。 如果你想自定义删除的行为,你可以覆盖delete() 方法。...最明显的是在DjangoAdmin 站点显示一个对象和在模板插入对象的值的时候。 所以,你应该始终__str__() 方法返回模型一个友好的、人类可读的形式。...__eq__() 定义这个方法是为了具有相同主键的相同实的实例是相等的。对于代理模型,实模型一个非代理父;对于其它模型,它的实就是模型自己。...Django 为每个提供一个DoesNotExist 异常属性是为了区别找不到的对象所属的,并你可以利用try/except捕获一个特定模型

1.9K10

35.Django2.0文档

当我们打印整个publisher列表,我们没有得到想要的有用信息,只需要为Publisher对象添加一个__str__方法 ,就可以对Publisher对象更容易理解 from django.db import...在上面的例子,这个值是2  删除数据库对象只需调用该对象的delete()方法即可: ?...工作原理 当服务启动Django`` url.py`` 引导URLconf,然后执行`` admin.autodiscover()`` 语句。...除了这些,Django还提供了大量选项你针对特别的模块自定义管理工具。 这些选项都在ModelAdminclasses里面,这些包含了管理工具针对特别模块的配置。...解释一下代码: 我们新建了一个AuthorAdmin,它是django.contrib.admin.ModelAdmin派生出来的子类,保存着一个的自定义配置,以供管理工具使用。

11.3K100
领券