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

Django经理在模型中设置了_set

在Django框架中,_set是一个反向查找属性,用于获取与模型中的ForeignKey字段相关联的所有对象。

例如,假设我们有两个模型:AuthorBookBook模型中有一个ForeignKey字段author,它指向Author模型。在Author模型中,我们可以使用book_set来获取与该作者相关联的所有书籍。

代码语言:python
代码运行次数:0
复制
class Author(models.Model):
    name = models.CharField(max_length=100)

class Book(models.Model):
    title = models.CharField(max_length=100)
    author = models.ForeignKey(Author, on_delete=models.CASCADE)

在这个例子中,我们可以使用author.book_set.all()来获取与该作者相关联的所有书籍。

需要注意的是,Django会自动为ForeignKey字段创建一个反向查找属性,因此我们不需要在模型中显式地定义它。在上面的例子中,Django会自动为Author模型创建一个book_set属性,因为Book模型中有一个ForeignKey字段author

如果我们想要自定义反向查找属性的名称,可以使用related_name参数。例如,我们可以将上面的例子修改为:

代码语言:python
代码运行次数:0
复制
class Author(models.Model):
    name = models.CharField(max_length=100)

class Book(models.Model):
    title = models.CharField(max_length=100)
    author = models.ForeignKey(Author, on_delete=models.CASCADE, related_name='books')

在这个例子中,我们可以使用author.books.all()来获取与该作者相关联的所有书籍。

总之,_set是Django中用于反向查找相关对象的一种方式,可以帮助我们更方便地管理和查询数据。

页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

使用Django、Prometheus和Kubernetes定制应用指标

我认为你已经理解了重点。 设置Django应用程序 除了明显的依赖(pip install Django)之外,我们还需要为宠物项目(译者注:demo)添加一些额外的包。...接下来,我们将运行Django管理命令来启动项目,更新我们的设置来使用Prometheus客户端,并将Prometheus的URL添加到URL配置中。...Prometheus urls 现在我们有了一个Django项目以及相应的设置,可以为 django-prometheus添加需要的配置项了。...---- 添加Prometheus指标 由于django-prometheus提供了开箱即用功能,我们可以立即追踪一些基本的模型操作,比如插入和删除。...显示散步距离和创建散步的指标 定义的指标此时已经可以在prometheus里查找到了 至此,我们已经在代码中添加了自定义指标,整合了应用以追踪指标,并验证了这些指标已在/metrics 上更新并可用。

1.3K20

【Git】每天1分钟系列——Git项目分组开发

项目经理创建完成仓库后,接下来项目组成员就要进行开发工作了 以下操作由每个组员独自完成 添加ssh账户 这一步是组员在ubuntu中生成ssh密钥,然后交给项目经理添加到github中 在ubuntu的命令行中...生成git密钥 删除~/.ssh目录,这里存储了旧的密钥 rm -r .ssh 运行如下命令生成密钥 在“图标2”处可以填写保存密钥的目录 在“图标3”处可以填写密码,如果填写,一般为项目的名称...在克隆出来的目录下,隐藏目录.git存储了服务器、分支、文件变更等信息 同步分支 以自己的姓名创建分支,如果此分支已经存在可以添加数字后缀,具体要与项目经理商量 git checkout -b zhujiao...添加 按照工作分配,需要创建df_user模块,此时文件位于工作区 python manage.py startapp df_user 在ide中编辑df_user/models.py文件,创建模型类UserInfo...,仓库区中记录的各版本是可以查看并回退的,但是在暂存区的版本一旦提交就再也没有了 暂存区与仓库区交互的方式及命令如下 ?

89840
  • Python进阶35-Django Auth组件

    -devops项目经理兼DBA。 -开发过一套自动化运维平台(功能如下): 1)整合了各个公有云API,自主创建云主机。 2)ELK自动化收集日志功能。...很麻烦,所以Django帮我们做了一件事,settings文件中,修改即可。.../', views.set_pwd), url(r'^auth_1/', views.auth_1), ]   该方法,主要不是在视图使用,是在模板中使用。...---- 封号和后台管理 is_staff : 用户是否拥有网站的管理权限. is_active : 是否允许用户登录, 设置为 False,可以在不删除用户的前提下禁止用户登录。...写法如下: # 引用Django自带的User表,继承使用时需要设置 AUTH_USER_MODEL = "app01.UserInfo" 再次注意: 一旦我们指定了新的认证系统所使用的表,我们就需要重新在数据库中创建该表

    55620

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

    我们将设置数据库,创建您的第一个模型,并快速介绍Django的自动生成的管理网站。 数据库设置 现在,编辑mysite/settings.py。...这不仅在数据库模式中使用,而且在验证中使用。 Field还可以有各种可选参数;在上例中,我们将votes的默认值设置为0。 最后,使用ForeignKey定义关系。...这告诉Django每个选择是与单个问题相关。 Django支持所有常见的数据库关系:多对一,多对多和一对一。 激活模型 上面那段简短的模型代码给了Django很多信息。...Question.objects.all() # 新建一个Question # 在默认设置文件中启用对时区的支持, Django推荐使用timezone.now()代替python...def __str__(self): return self.choice_text 在模型中添加__str __()方法非常重要,不仅仅是为了方便您处理交互式提示时,而且在Django

    2.3K60

    Django实战-信息资讯-重构 USER 模型

    has_usable_password() 如果设置了set_unusable_password(),返回False。 get_session_auth_hash() 返回密码字段的HMAC。...这是一个抽象的类,可以为自定义用户模型中的类的层次结构中包含它。它提供所有 Django 权限类必须的方法和字段。...Django 允许通过修改 settings.py 文件中的 AUTH_USER_MODEL 设置覆盖默认的 User 模型,其值引用一个自定义的模型。...# AUTH_USER_MODEL 这个属性是 django 内置的,会主动到这个文件中查找这个属性, # 如果找到了,那么就会使用这个属性指定的模型来作为 User 对象 # AUTH_USER_MODEL...这个属性是一个字符串,规则是 “appname.Modelname” # app 下的哪个模型 # 如果设置了 AUTH_USER_MODEL,那么项目的 makemigrations 以及 migrate

    93720

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

    字段属性primary_key用于设置主键,max_length用来设置字段的最大长度,db_column用来设置数据库中与字段对应的列,verbose_name则设置了Django后台管理系统中该字段显示的名称...一”的一方查询“多”的一方),反向查询属性默认的名字是类名小写_set(如上面例子中的emp_set),当然也可以在创建模型时通过ForeingKey的related_name属性指定反向查询属性的名字...NULL,默认为False blank 后台模型管理验证数据时,是否允许为NULL,默认为False choices 设定字段的选项,各元组中的第一个值是设置在模型上的值,第二值是人类可读的值 db_column...SET_NULL:把外键设置为null,当null属性被设置为True时才能这么做。 SET_DEFAULT:把外键设置为默认值,提供了默认值才能这么做。...managed 设置为True时,Django在迁移中创建数据表并在执行flush管理命令时把表移除 order_with_respect_to 标记对象为可排序的 ordering 对象的默认排序 permissions

    2.3K30

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

    二、模型的定义 模型可以定义储存数据的字段和值,比如我们在进行表单提交的时候,一些注册信息就可以利用模型来进行管理,然后统一提交到数据库中。简单来说,模型是与数据库有关的操作集合。...与之关联的值设置为指定值,设置:models.SET(值) 2....与之关联的值设置为可执行对象的返回值,设置:models.SET(可执行对象) related_name=None # 反向操作时,使用的字段名,用于代替表名_set related_query_name...,可以将其它字段放在中介模型中,源模型的字段使用through参数指向中介模型。...on_delete=None # 当删除关联表中的数据时,当前表与其关联的行的行为 五、管理员登陆 为了能让大家提前看到django的数据操作,django内置了一款非常到位的系统管理员登陆设计系统

    2.1K00

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

    上一篇Django 2.1.7 MVT模型示例 - 查询数据,返回渲染模板数据讲述了如何使用sqlite3作为数据库,执行模型查询数据,并返回渲染页面。 本篇章开始将继续详细讲述模型这块的运用。...参考文献 官方文档 在mysql数据库创建数据库实例 Django在配置连接mysql之前,第一个就是需要在mysql中创建好数据库实例,表的话可以使用迁移的手段创建。...(0.00 sec) mysql> 好了,下一步就是在Django项目中配置访问mysql服务。...# 设置访问ip地址 'PORT': 3306, # 设置访问端口号 } } 尝试启动django的开发服务器,测试是否会报错 可以看到提示ModuleNotFoundError...,利用这两个模型,下一步来执行一下数据迁移,自动在mysql创建数据表。

    1.2K10

    django2.0入门教程第二节

    继上篇 django2.0入门教程第一节,生成了投票应用,接下来讲解如何使用django的模型与数据库进行交互 数据库设置 打开mysite/settings.py,可看到默认情况下,django使用的是...OK 以上命令将django激活的应用所需的数据表创建好了 创建模型 django的模型(models)在本质上就是对数据表的定义。...在django中是不需要直接与数据库交互的,所有对数据库的操作都可以映射为模型类的操作,有一个数据表,就有一个模型类与之对应 polls/models.py #_*_coding:utf8_*_ from...,并标识了这些字段的类型 激活模型 mysite/settings.py INSTALLED_APPS = [ 'polls.apps.PollsConfig', # ... ] 生成迁移...此外,我们还可以在models中添加自定义方法: import datetime from django.db import models from django.utils import timezone

    71630

    django_mysql_配置

    在自己数据中创建一个djangi_demo create database django_demo default charset=utf8; ---- 定义模型类 1....创建一个新的应用,为booktest,在models.py 文件中定义模型类,然后去setting注册应用 python manage.py startapp booktest ?...2) django会为表创建自动增长的主键列,每个模型只能有一个主键列,如果使用选项设置某属性为主键列后django不会再创建自动增长的主键列。...null是数据库范畴的概念,blank是表单验证范畴的 5) 外键 一般我用CASCADE 在设置外键时,需要通过on_delete选项指明主表删除数据时,对于外键引用表数据如何处理,在django.db.models...设置为NULL,仅在该字段null=True允许为null时可用 SET_DEFAULT 设置为默认值,仅在该字段设置了默认值时可用 SET() 设置为特定值或者调用特定方法,如 from

    1.6K10

    django 1.8 官方文档翻译: 2-1-3 元选项 (初稿)

    网站:http://python.usyiyi.cn/django/index.html 模型元选项 这篇文档阐述了所有可用的元选项,你可以在你模型的Meta类中设置他们。...如果你的模型定义在默认的 models.py 之外(比如,你现在用的模型在 myapp.models 子模块当中),你必须告诉 Django 该模型属于哪个应用: app_label = 'myapp...' Django 1.7中新增: 一个应用中,定义在models 模块以外的模型,不再需要app_label。...default_related_name Options.default_related_name Django 1.8中新增: 这个名字会默认被用于一个关联对象到当前对象的关系。默认为 _set。...你可以自定义这个列表,比如,如果你的应用不需要默认权限中的任何一项,可以把它设置成空列表。在模型被migrate命令创建之前,这个属性必须被指定,以防一些遗漏的属性被创建。

    82430

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

    在 Django 中编写一个有数据库支持的 Web 应用的第一步就是定义你的模型 – 从本质上讲就是数据库设计及其附加的元数据。 哲理 模型是有关你数据的唯一且明确的数据源。...Django 遵循 DRY 原则 。目标是为了只在一个地方定义你的数据模型就可从中自动获取数据。 在这简单的投票应用中,我们将创建两个模型: Poll 和 Choice。...每个模型都由继承自 django.db.models.Model 子类的类来描述。 每个模型都有一些类变量,每一个类变量都代表了一个数据库字段。...若字段未提供该参数,Django 将使用符合机器习惯的名字。在本例中,我们仅定义了一个符合人类习惯的字段名 Poll.pub_date 。对于模型中的其他字段,机器名称就已经足够替代人类名称了。...激活模型 刚才那点模型代码提供给 Django 大量信息。有了这些 Django 就可以做: 为该应用创建对应的数据库架构 (CREATE TABLE statements) 。

    99820

    Django项目知识点(三)

    这个模型定义了一个 Person, 其拥有 first_name 和 last_name: from django.db import models class Person(models.Model...指定这个属性后你会得到一个get_xxx_order()和set_xxx_order()的方法,通过它们你可以设置或者回去排序的对象 ordering 这个字段是告诉Django模型对象返回的记录结果集是按照哪个字段排序的...Django自动为每个设置了admin的对象创建添加,删除和修改的权限。...注意:Django在一个模型中只允许有一个自增字段,并且该字段必须为主键!...一对一:在某表中创建一行数据时,有一个单选的下拉框(下拉框中的内容被用过一次就消失了) 一个学生信息表就只用一个对应的详细信息表 再比如一个用户表和一个用户信息表。

    1.9K30
    领券