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

Django模型(数据库)及Django Query常用方法

Django模型(数据库)及Django Query常用方法 Django 模型是与数据库相关的,与数据库相关的代码一般写在 models.py 中,Django 支持 sqlite3, MySQL,...PostgreSQL等数据库,只需要在settings.py中配置即可,不用更改models.py中的代码,丰富的API极大的方便了使用。...是安装Django后多出的一个命令,并不是运行的当前目录下的django-admin.py(当前目录下也没有),但创建项目会生成一个 manage.py 文件。...创建数据表 我们来同步一下数据库(我们使用默认的数据库 SQLite3,无需配置) 先 cd 进入 manage.py 所在的那个文件夹下,输入下面的命令 # Django 1.6.x 及以下 python...Person.objects.get(name="Tom") >>> 我们用了一个 .objects.get() 方法查询出来符合条件的对象,但是大家注意到了没有

2.6K40

创建 Django 博客的数据库模型

下面分别是分类和标签的数据库表: 分类 id 分类名 1 Django 2 Python 标签 id 标签名 1 Django 学习 2 Python 学习 编写博客模型代码 以上是自然语言描述的表格...(models.Model): """ Django 要求模型必须继承 models.Model 类。...# django.contrib.auth 是 Django 内置的应用,专门用于处理网站用户的注册、登录等流程,User 是 Django 为我们已经写好的用户模型。...这是分类与标签,分类与标签的模型我们已经定义在上面。我们把文章对应的数据库表和分类、标签对应的数据库表关联了起来,但是关联形式稍微有点不同。...其中 User 是 Django 为我们已经写好的用户模型,和我们自己编写的 Category 等类是一样的。

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

    Django 教程 --- Django 模型

    SQL(结构化查询语言)很复杂,涉及许多不同的查询,用于创建,删除,更新或与数据库有关的任何其他内容。Django模型简化了任务并将表组织到模型中。通常,每个模型都映射到单个数据库表。...本文围绕如何使用Django模型方便地将数据存储在数据库中展开。此外,我们可以使用Django的管理面板来创建,更新,删除或检索模型的字段以及各种类似的操作。...模型的每个属性代表一个数据库字段。 通过所有这些,Django为您提供了一个自动生成的数据库访问API。请参阅进行查询。...Django CRUD –插入,更新和删除数据 Django使我们可以使用称为ORM(Object Relational Mapper)的数据库抽象API与它的数据库模型进行交互,即添加,删除,修改和查询对象...基本模型数据类型和字段列表 模型的最重要部分和模型唯一需要的部分是它定义的数据库字段的列表。字段由类属性指定。这是Django中使用的所有Field类型的列表。

    2.1K10

    django2.0博客教程(创建 Django 博客的数据库模型)

    我们把写好的文章永久地保存在数据库里,当用户访问我们的博客时,Django 就去数据库里把这些数据取出来展现给用户。 博客的文章应该含有标题、正文、作者、发表时间等数据。...下面分别是分类和标签的数据库表: 分类 id 分类名 1 Django 2 Python 标签 id 标签名 1 Django 学习 2 Python 学习 编写博客模型代码 以上是自然语言描述的表格...Django 把那一套数据库的语法转换成了 Python 的语法形式,我们只要写 Python 代码就可以了,Django 会把 Python 代码翻译成对应的数据库操作语言。...这样,Django 就可以把这个类翻译成数据库的操作语言,在数据库里创建一个名为 category 的表格,这个表格的一个列名为 name。还有一个列 id,Django 则会自动创建。...模型的代码通常写在相关应用的 models.py 文件里。已经在代码中做了详细的注释,说明每一句代码的含义。但如果你在移动端下阅读不便的话,也可以跳到代码后面看正文的里的讲解。

    76050

    1.4 Django基础篇--数据库模型设计

    经过以上的分析,数据模型基本上建立起来了,不过这还没有结束,因为 还没有完成模型到真实数据库的迁移。接下来要做的是配置数据库,完成代码到数据库的“翻译”。...1.4.3 数据库模型迁移 打开CoolBlog工程CoolBlog目录下的settings.py文件,其中Django已经默认配置好了sqlite3数据库。 ?...这样就完成了数据库模型的迁移,那咱们看看数据库有没有新建的表?下图所示,Django已经帮助我们完成了数据库的迁移,里面是不是还有之前说的中间表! ?...migrate命令才是真正意义上将应用数据模型映射到数据库中,Django通过检测migrations文件夹下的文件,就可以知道我们对数据模型做了哪些修改,然后Django将这些改动翻译成SQL语句,并作用于数据库...大家有没有发现,除了home应用的数据库模型进行了迁移,还有很多数据的改动,其实这是为Django内置的应用进行数据模型的迁移。

    1.3K30

    Django—模型

    ', #数据库所在主机 'PORT': '3306', #数据库端口 } } 注意:数据库test2 Django框架不会自动生成,需要我们自己进入mysql数据库去创建。...把数据库切换成了mysql,需要安装pymysql模块之后,Django框架才可以操作mysql数据库。...hero.hbook 通过模型类执行关联查询- 由多模型类条件查询一模型类数据: 语法如下: 关联模型类名小写__属性名__条件运算符=值   如果没有"__运算符"部分,表示等于,结果和sql中的inner...当没有为模型类定义管理器时,Django会为每一个模型类生成一个名为objects的管理器,自定义管理器后,Django不再生成默认管理器objects。...books = models.Manager()  管理器Manager   管理器是Django的模型进行数据库操作的接口,Django应用的每个模型类都拥有至少一个管理器。

    6.1K21

    django模型

    每个模型对 应数据库中唯一的一张表 如何编写模型 模型:每个模型都用一个类表示,该类继承自django.db.models.Model。...字段的自述名 每个字段类型都接受一个可选的位置参数——字段的自述名,如果没有给定自述名, Django将根据字段的属性名称自动创建自述名——将属性名称的下划线替换成空格 ForeignKey、 ManyToManyField...来表示随机排序 编写服务器模型 数据库迁移 迁移是Django用于同步你的发生改变的模型(添加一个字段,删除一个模型,等等)到你的 数据库 迁移命令 makemigrations, 负责基于你的模型修改创建一个新的迁移...这个异常是正在查询的模型类的一个属性 —— 所以在上面的代码中, 如果没有主键为1 的Entry 对象,Django 将引发一个Entry.DoesNotExist。...如果没有指定字段,每个字典将包含数据库表中所 有字段的键和值。

    3.1K20

    Django模型

    Django模型 Django的模型定义在models.py文件中。模型是MVT中的M,也相当于MVC中的M。 在Django中,模型必须继承自Model类。...class BookInfo(models.Model): # 一个模型类就会对应生成数据库中的一张表 """书籍模型""" name = models.CharField...verbose_name = '图书' # 在admin站点中显示的名称 注意 模型类如果未指明表名,Django默认以小写app应用名_小写模型类名为数据库表名,一般我们会通过...django会为表创建自动增长的主键列,每个模型只能有一个主键列,如果使用选项设置某属性为主键列后django不会再创建自动增长的主键列。...,此选项会抛出IntegrityError异常 注意:我们在数据库中,设置外键的时候需要制定另一张表中关联的字段,但是在Django里并没有指定。

    1.9K20

    Django模型model

    : 根据对象的类型生成数据库表结构 将对象、列表的操作,转换为sql语句 将sql查询到的结果转换为对象、列表 Django中的模型包含存储数据的字段和约束,对应着数据库中唯一的表 ORM.png 2....定义模型类 在模型中定义属性,会生成数据库表中的字段 django根据属性的类型确定以下信息: 当前选择的数据库支持字段的类型 渲染管理表单时使用的默认html控件 在管理站点最低限度的验证 django...模型类的管理器 objects:是Manager类型的对象,用于与数据库进行交互 当定义模型类时没有指定管理器,则Django会为模型类提供一个名为objects的管理器 支持明确指定模型类的管理器...Django的模型进行数据库的查询操作的接口,Django应用的每个模型都拥有至少一个管理器 自定义管理器类主要用于两种情况 向管理器类中添加额外的方法创建管理器对象保存数据到数据库 class TestInfoManager... 注:可以没有部分,表示等于,结果同inner join可返向使用,即在关联的两个模型中都可以使用filter(heroinfohcontent__contains='八')

    15310

    django-7-django模型系统

    模型字段类型>>> https://docs.djangoproject.com/en/2.1/ref/models/fields/#field-types  InterField  CharFiled...2.1/ref/models/fields/#field-options primary_key auto_dreated unique指定是否为唯一 auto_now >>  通过模型类上的管理器来构造... 模型类上的管理器(class.objects)  queryset (惰性,,没有操作数据库)表示数据库中对象的集合,等同于select 语句   query 获取mysql 语句  first()...*kwargs) 根据给定的条件获取过滤后的queryset,多个条件用','连接  exclude(**kwargs) 作用和filter相反,去除不符合条件的对象  多条件的or连接  from django.db.models... gt 大于  gte 大于等于  lt  lte  startswith  istartswith  endswith  iendswith  isnull True False  聚合  django.db.models

    82010

    django 模型关系

    模型关系 关系数据库的威力体现在表之间的相互关联,Django提供了三种最常见的数据库关系:多对一 (many-to-one),多对多(many-to-many),一对一(one-to-one)...多对一关系 多对多关系 一对一关系 多对一 django是使用django.db.models.ForeignKey 定义多对一关系 ForeignKey需要一个位置参数来指定本Model关联的Model...,ForeignKey关联的Model 是"一", ForeignKey所在的Model是"多" 比如汽车和制造商的例子,一辆汽车只能属于一个制造商,但是一个制造商有多辆汽车,这个关系,用Django...所在的模型) 如果模型有一个ForeignKey,那么该ForeignKey 所指的模型实例可以通过一个管理器返回前一个有ForeignKey的模型的所有实例。...ManyToManyField 的名字 在哪个模型中设置 ManyToManyField 并不重要,在两个模型中任选一个即可——不要在两个模型中都设置 一对一 一对一是通过django.db.models.OneToOneField

    1.4K30

    Django 2.1.7 模型 - 使用mysql数据库连接访问

    上一篇Django 2.1.7 MVT模型示例 - 查询数据,返回渲染模板数据讲述了如何使用sqlite3作为数据库,执行模型查询数据,并返回渲染页面。 本篇章开始将继续详细讲述模型这块的运用。...参考文献 官方文档 在mysql数据库创建数据库实例 Django在配置连接mysql之前,第一个就是需要在mysql中创建好数据库实例,表的话可以使用迁移的手段创建。...修改Django项目中连接的后端数据库为mysql 在项目的settings.py进行修改如下: DATABASES = { 'default': { 'ENGINE': 'django.db.backends.mysql...查看已有的数据模型类 from django.db import models class ServerInfo(models.Model): server_hostname = models.CharField...,利用这两个模型,下一步来执行一下数据迁移,自动在mysql创建数据表。

    2.3K10

    Django 博客教程(三):创建应用和编写数据库模型

    编写博客的数据库模型 博客最主要的功能就是展示我们写的文章,它需要从某个地方获取我们写的博客文章数据才能把它展示出来,通常来说这个地方就是数据库。...数据库模型详解 首先是 Category(分类)和 Tag(标签)类,它们均继承自 model.Model 类,这是 django 规定的。它们均有一个 name 属性,用来存储它们的名称。...这是分类与标签,分类与标签的模型我们已经定义在上面。我们在这里把文章对应的数据库表和分类与标签对应的表关联起来,但是关联形式稍微有点不同。...同时我们规定文章可以没有标签,因此为标签 tags 指定了 blank=True。 author。文章作者,这里 User 是从 django.contrib.auth.models 导入的。...django.contrib.auth 是 django 内置的应用,专门用于处理网站用户的注册、登录等流程,User 是 django 为我们已经写好的用户模型,这里我们通过 ForeignKey 把文章和

    95590

    Django模型最佳实践

    在数据库中不要出现无效数据。 不要对QuerySet调用len()函数。 将QuerySet的exists()方法的返回值用于if条件。...模型定义参考 字段 对字段名称的限制 字段名不能是Python的保留字,否则会导致语法错误 字段名不能有多个连续下划线,否则影响ORM查询操作 Django模型字段类 字段类 说明 AutoField...字段对应到数据库表中的列名,未指定时直接使用字段的名称 db_index 设置为True时将在该字段创建索引 db_tablespace 为有索引的字段设置使用的表空间,默认为DEFAULT_INDEX_TABLESPACE...on_delete:外键关联的对象被删除时对应的动作,可取的值包括django.db.models中定义的: CASCADE:级联删除。...through:指定维持多对多关系的中间表的Django模型。 throughfields:定义了中间模型时可以指定建立多对多关系的字段。 db_table:指定维持多对多关系的中间表的表名。

    2.3K40

    Django 模型继承 BaseModel

    模型继承 模型继承在 Django 中与普通类继承在 Python 中的工作方式几乎完全相同,但也仍应遵循本页开头的内容。这意味着其基类应该继承自 django.db.models.Model。...CommonInfo 模型不能用作普通的 Django 模型,因为它是一个抽象基类。它不会生成数据表,也没有管理器,也不能被实例化和保存。...你不能继承多个非抽象模型类,因为代理模型无法在不同数据表之间提供任何行间连接。一个代理模型可以继承任意数量的抽象模型类,假如他们 没有 定义任何的模型字段。...通用性规则: 当你克隆一个已存在模型或数据表时,并且不想要所以的原数据表列,配置 Meta.managed=False。这个选项在模型化未受 Django 控制的数据库视图和表格时很有用。...若你在祖先模型中重写了任何模型字段,Django 会抛出一个 FieldError。

    2.1K10
    领券