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

django 1.8 官方文档翻译: 2-2-1 执行查询

整个文档(以及参考),我们会大量使用下面的模型,它构成了一个博客应用。...python对象,django使用一种直观方式:一个模型类代表数据库一个表,一个模型实例代表数据库表一条特定记录。...如果我们要对两个字段值做比较,那该怎么做呢? Django 提供 F() 来做这样比较。F() 实例可以查询引用字段,来比较同一个 model 实例两个不同字段值。...参见 Django 单元测试 OR查询实例(OR lookups examples) 展示了 Q 用例。 对象比较 要比较两个对象,就和 Python 一样,使用双等号运算符:==。...本质上来说,INSTALLED_APPS 作用之一就是确认 Django 完整 model 范围。 关联对象上查询 包含关联对象查询与包含普通字段查询都遵循相同规则。

4.3K20

Django 多对多字段更新和插入数据实例

从图可以看出生成了三张表,一个是book(书籍)表包含id,title两个字段,一个是author(作者表)包含id,name,email三个字段,这是我们刚刚在models.py文件创建两个模型,但是有一点需要注意...,Django允许指定一个用于管理多对多关系中间模型,然后就可以把这些额外字段添加到这个中间模型,具体方法就是ManyToMany字段中指定through参数指定作为中介中间模型,修改上述models.py...创建BookAuthor类最后使用了自定义名称,这个也可以不用指定,系统可以自动生成表名 仔细观察BookAuthor这个类,也就是我们前面讲到中间模型,同时我们看到创建中间模型时候我们创建了两个外键...还能使用和刚刚相同方法?...,add(),remove(),create()这些方法都会被禁用,所以创建这种类型关系时候唯一方法就是通过创建中间模型实例 以上这篇Django 多对多字段更新和插入数据实例就是小编分享给大家全部内容了

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

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

当你unpickle 它时,它将包含pickle 时模型实例,而不是数据库的当前数据。 你不可以不同版本之间共享pickles 模型Pickles 只对于产生它们Django 版本有效。...__eq__() 定义这个方法是为了让具有相同主键相同实类实例是相等。对于代理模型,实类是模型第一个非代理父类;对于其它模型,它实类就是模型类自己。...= MyModel(id=2) Changed in Django 1.7: 之前版本,只有类和主键都完全相同实例才是相等。 __hash__ Model....Changed in Django 1.7: 之前版本,主键没有值实例可以哈希。...people.views.details', args=[str(self.id)]) Django 使用get_absolute_url() 一个地方是Admin 应用

1.9K10

37.Django1.11.6文档

Django 提供F表达式 来允许这样比较。 F() 返回实例用作查询内部对模型字段引用。 这些引用可以用于查询filter 来比较相同模型实例上不同字段之间值比较。...如果你模型定义一个OneToOneField,该模型实例可以通过该模型一个简单属性访问关联模型。...确定你应用哪些模型管理后台界面应该可以编辑。 给上面的每个模型创建一个ModelAdmin类,封装模型自定义管理后台功能和选项。...list_display,你有4种赋值方式可以使用: 模型字段。 ...相同URLconf 多个管理站点 同一个Django供电网站上创建管理站点多个实例很容易。 只需要创建AdminSite 多个实例并将每个实例放置不同URL 下。

24.2K80

django 1.8 官方文档翻译:2-1-1 模型语法

模型每个字段都是 Field 子类某个实例。...Django 自带数十种内置字段类型;完整字段类型列表可以模型字段参考 中找到。如果内置类型仍不能满足你要求,你可以自由地编写符合你要求字段类型; 详见编写自定义模型字段。...在哪个模型设置 ManyToManyField 并不重要,两个模型任选一个即可 —— 不要两个模型都设置。 通常,ManyToManyField 实例应该位于可以编辑表单。...模型继承 Django 模型继承与 Python 普通类继承方式几乎完全相同,但是本页头部列出模型基本要求还是要遵守。... Python 看来,上面的限制仅仅针对字段实例名称:如果你手动指定了数据库列名称,那么多重继承,你就可以子类和某个祖先类当中使用同一个列名称。(因为它们使用两个不同数据表字段)。

4.9K20

Django 学习笔记之模型(上)

如果你是按照本系列来学习 Django 框架的话,按照前面安装 Django 方式,你安装 Django 版本应该是最新版本,即 2.0。 那么使用最新 Django 版本来学习可以?...顺便补充下本文用一些工具版本:Python 版本是 3.6,Mysql 版本是 5.5 1 模型是什么 Web 应用,数据一般存储到数据库Django 模型层是跟数据库打交道层次。...9)TimeField:时间字段, 类似于Python datetime.time 实例. 和 DateField 具有相同选项。...我们范例模型,一家出版社 publisher 可以出版很多书 Book。在数据库, Django 使用 ForeignKey 字段名称+ "_id" 做为数据库列名称。...3)ManyToManyField:属于模型间关系多对多关系。我们范例模型, Book 有一个 多对多字段 叫做 authors。因为他们关系是一本书由多个作者合写,一个作者可以写很多书。

1.7K30

django 1.8 官方文档翻译: 2-5-2 进行原始sql查询

通常,Django通过将模型名称和模型应用标签”(你manage.py startapp中使用名称)进行关联,用一条下划线连接他们,来组合表名称。...在这里我们假定Person模型存在于一个叫做myapp应用,所以表就应该叫做myapp_person。 更多细节请查看db_table选项文档,它也可以让你自定义表名称。...RawQuerySet没有实现他们原因是,没有内部缓存情况下会导致性能下降,而且增加内部缓存不向后兼容。 将查询字段映射到模型字段 raw()方法自动将查询字段映射到模型字段。...翻译参数是一个字典,将表字段名称映射为模型字段名称、例如,上面的查询可以写成这样: >>> name_map = {'first': 'first_name', 'last': 'last_name...Django 使用主键来识别模型实例,所以它在每次原始查询中都必须包含。如果你忘记包含主键的话,会抛出一个InvalidQuery异常。 增加注解 你也可以查询包含模型没有定义字段

90120

django 1.8 官方文档翻译: 5-1-1 使用表单

一个Web 应用,‘表单’可能指HTML 、或者生成它Django Form、或者提交时发送结构化数据、或者这些部分总和。...实例化、处理和渲染表单 Django 渲染一个对象时,我们通常: 视图中获得它(例如,从数据库获取) 将它传递给模板上下文 使用模板变量将它扩展为HTML 标记 模板渲染表单和渲染其它类型对象几乎一样...模型实例不包含数据情况下,模板对它做处理很少有什么用处。但是渲染一个未填充表单却非常有意义 —— 我们希望用户去填充它。 所以当我们视图中处理模型实例时,我们一般从数据库获取它。...模型和表单 实际上,如果你表单打算直接用来添加和编辑Django 模型,ModelForm 可以节省你许多时间、精力和代码,因为它将根据Model 类构建一个表单以及适当字段和属性。...Django 提供两个表单方法,它们允许你独立地隐藏和可见字段上迭代:hidden_fields() 和visible_fields()。

4.2K20

Django大型项目中django性能模型字段primary_key

模型字段 序列本身由正好两个项目的迭代项组成(例如,[(A,B),(A,C)…]),作为该字段选择。如果给出了选择,它们将通过模型验证来执行。...,然后引用它,但在模型定义选择和每个选择名称可以使用它类中保留所有这些信息,并帮助引用这些选择(例如,Student.SOPHOMORE将在导入学生模型任何位置工作)。...自动创建主键字段类型可以每个应用程序AppConfig default_auto_field中找到,或者field配置全局指定default_auto_field def user_directory_path...例如,如果ImageField名为mug_Shot,则可以模板中使用{{object.mug_Shot.url}}获取图像绝对路径。 Python Time实例中使用datetime。...接受与DateField相同自动填充选项。 此字段默认表单部分是TimeInput。一些JavaScript快捷方式已添加到管理

2K20

django 字段类型_access数据库类型是

常用字段 (1) AutoField 自增整型字段,必填参数primary_key=True,则成为数据库主键,无该字段时,django会自动创建主键id字段。...**注意:**模型中使用FileField或ImageField时,需要执行以下几个步骤: l settings.py定义MEDIA_ROOT为django设置存储上载文件目录完整路径(这些文件并未直接存储在数据库...l 模型添加FileField或ImageField字段时,定义upload_to指定MEDIA_ROOT路径用于上传文件目录。...ImageField.height_field:每次保存模型实例时,模型字段名称都会自动填充图像高度。...(19) TimeField 时间,Python以datetime.time实例表示。接受与相同自动填充选项DateField。

3.8K30

Web 开发 Django 模型

简介 Django 模型是真实数据简单明确描述,它包含了储存数据所必要字段和行为,创建模型前需要先配置好数据库。...地址) PORT:数据库所在主机服务端口号 创建模型 还是以我们之前创建投票应用为基础,在这个应用创建两个模型–Question和Choice。...Question(问题)包含提问内容和发布时间两个字段。 Choice(选项)包含针对问题选项以及已投票数,每个问题可以有多个选项。...每个模型有一些类变量,它们都表示模型一个数据库字段。 每个字段都是 Field 类实例,如 CharField 对应数据库字符串字段。...OK 数据库迁移操作被分解成生成和应用两个命令是为了让你能够代码控制系统上提交迁移数据并使其能在多个应用里使用;这不仅仅会让开发更加简单,也给别的开发者和生产环境使用带来方便。

1.1K10

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

,比如我们学过flask,里面的sqlalchemy就是这样一个优秀模块,通过它可以快速和数据库建立通道,从而使得web编程更为高效,本文主要讲解django模型。...二、模型定义 模型可以定义储存数据字段和值,比如我们进行表单提交时候,一些注册信息就可以利用模型来进行管理,然后统一提交到数据库。简单来说,模型是与数据库有关操作集合。...两个参数不能和默认设置同时设置 DateTimeField DateTimeInput 日期和时间, Python 中使用 datetime.datetime 实例表示。...与 DateField 具有相同额外参数。 DecimalField TextInput 固定精度小数, Python 中使用 Decimal 实例表示。...,你可以指定一个中介模型来定义多对多关系,可以将其它字段放在中介模型,源模型字段使用through参数指向中介模型

2.1K00

djangoModelForm多表单组合解决方案

我想此时场景下就两个标准: 1、相同功能用最少代码实现(代码少BUG也会少); 2、相对最易于理解,从而易于维护和扩展。 书归正传,web服务允许用户输入,基本上要靠表单。...所以,基本表单功能看BaseForm已经足够了。 2、从模型创建表单 django对于MVCC与M间映射是非常体贴,集中体现Model模型(比如模型权限与用户认证)。...那么,一个模型代表着RDS一张表,模型实例代表着关系数据库一行,而form如何与一行相对应呢?...告诉django需要在表单创建哪些字段。...从这篇文章里也可以看得出,django实在是快速开发网站必备神器!当然,快速不代表不能够支撑大并发应用,instagram这个很火服务就是用django

3.3K20

Django 模型继承 BaseModel

模型继承 模型继承 Django 与普通类继承 Python 工作方式几乎完全相同,但也仍应遵循本页开头内容。这意味着其基类应该继承自 django.db.models.Model。...你可以创建,删除和更新代理模型实例,所以数据都会存储像你使用原模型(未代理)一样。不同点是你可以修改代理默认模型排序和默认管理器,而不需要修改原模型。 代理模型就像普通模型一样申明。... Django 模型字段通常不允许这样做。如果一个非抽象模型基类有一个名为 author 字段,你就不能在继承自该基类任何类,创建另一个名为 author 模型字段或属性。...这些额外属性不能被覆盖,除非定义它字段被改变或删除,使它不再定义额外属性。 重写父模型字段会导致一些困难,比如初始化新实例 Model....若你祖先模型重写了任何模型字段Django 会抛出一个 FieldError。

2K10

Django篇(二)

1、创建项目 2、创建应用 3、注册应用 4、修改setting.py来让我们Django框架支持mysql数据库。...更多模型字段,请参考Django官方文档。写明明白白。 查询 我们Django通过操作模型类去做增删改查,sql语句那么多,我们同样可以进行增删改查。 其中最复杂也就是查询了。...查询函数 我们Django通过:模型类.objects属性调用以下函数来进行查询 get: 返回表满足条件一条数据,有且只能有一条,查询出多条会报异常。 查询不到数据也会报异常。...首先我们需要导入Q模块: from django.db.models import Q Q实例实例之前,Filter可以进行and操作,但是不能进行or操作。...orm映射表名也即是我们自动生成表表名是: 应用名_类名。 所以你去修改数据表名也是可以实现。 另:前端知识希望自己补充.

1.3K20

TO-do api

Models 接下来是todos应用程序定义我们Todo数据库模型。 我们将保持基本状态,只有两个字段:title和body。...如果我们两个不同应用程序更新了模型,然后运行python manage.py makemigrations,则生成单个迁移文件将包含两个应用程序数据。 这只会增加调试难度。...这里格式与我们Django本身创建模型类或表单方式非常相似。 我们正在指定要使用模型以及我们要公开特定字段。...请记住,idDjango自动创建,因此我们不必Todo模型定义它,但是我们将在细节视图中使用它。 就是这样。...Views 传统Django,视图用于自定义要发送到模板数据。 Django REST Framework,视图执行相同操作,但对序列化数据而言。

3.6K31

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

项目是针对一个特定 Web 网站相关配置和其应用组合。一个项目可以包含多个应用。一个应用可以多个项目中使用。 你应用可以存放在 Python path 任何位置。... Django 编写一个有数据库支持 Web 应用第一步就是定义你模型 – 从本质上讲就是数据库设计及其附加元数据。 哲理 模型是有关你数据唯一且明确数据源。...在这简单投票应用,我们将创建两个模型: Poll 和 Choice。Poll 有问题和发布日期两个字段。Choice 有两个字段: 选项 ( choice ) 文本内容和投票数。...本例,我们仅定义了一个符合人类习惯字段名 Poll.pub_date 。对于模型其他字段,机器名称就已经足够替代人类名称了。 一些 Field 实例是需要参数。...哲理 Django 应用是“可插拔”:你可以多个项目使用一个应用,你还可以分发应用,因为它们没有被捆绑到一个给定 Django 安装环境

95920

django 1.8 官方文档翻译: 2-1-1 模型语法(初稿)

通常来说,每个模型都对应数据库一张表。 基础: 每个模型都是django.db.models.Model类子类。 模型每个属性都表示数据库一个字段。...使用模型 一旦你定义了模型,就要通知Django启用这些模型,你要做就是修改配置文件INSTALLED_APPS 设置,在其中添加models.py所在应用名称。...自定义字段类型 如果 Django 自带字段类型不能满足你应用,或者你希望使用一些不常见数据库列类型,那你可以创建自定义字段类型。...但两者并不相同,你应当考虑选用哪种方案。 一个不同之处是你可以 Meta.managed=False model 定义字段(事实上,是必须指定,除非你真的想得到一个空 model )。... Python 看来,上面的限制仅仅针对字段实例名称:如果你手动指定了数据库列名称,那么多重继承,你就可以子类和某个祖先类当中使用同一个列名称。(因为它们使用两个不同数据表字段)。

3.1K30
领券