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

从Django Admin M2M关系中过滤相关值

在Django Admin中,M2M(Many-to-Many)关系是指模型之间的多对多关系。当我们在Django Admin中使用M2M字段时,有时候需要根据相关值进行过滤。下面是如何从Django Admin的M2M关系中过滤相关值的方法:

  1. 首先,在你的模型中定义M2M字段。例如,假设你有两个模型:BookAuthor,它们之间是多对多关系。你可以在Book模型中定义一个authors字段来表示这个关系:
代码语言:txt
复制
class Book(models.Model):
    title = models.CharField(max_length=100)
    authors = models.ManyToManyField(Author)
  1. 接下来,在你的Admin类中注册Book模型,并使用filter_horizontalfilter_vertical属性来指定M2M字段的过滤方式。例如,如果你想使用水平布局来过滤authors字段,可以这样做:
代码语言:txt
复制
from django.contrib import admin

class BookAdmin(admin.ModelAdmin):
    filter_horizontal = ('authors',)

admin.site.register(Book, BookAdmin)
  1. 现在,在Django Admin中,你将看到一个可用于过滤authors字段的多选框。你可以选择一个或多个作者来过滤与之相关的书籍。

这样,你就可以从Django Admin的M2M关系中过滤相关值了。

对于这个问题,腾讯云提供了一系列的云计算产品和服务,可以帮助你构建和部署基于Django的应用程序。其中,推荐的产品是腾讯云的云服务器(CVM)和云数据库MySQL(CDB)。云服务器提供了高性能、可扩展的计算资源,而云数据库MySQL则提供了可靠、安全的数据库服务。你可以通过以下链接了解更多关于腾讯云云服务器和云数据库MySQL的信息:

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

相关·内容

Django内置Admin

Django内置的Admin是对于model对应的数据表进行增删改查提供的组件,使用方式有: 依赖APP: django.contrib.auth django.contrib.contenttypes...配置路由 1 2 3 urlpatterns = [         url(r'^admin/', admin.site.urls),     ] 当前配置的路由可以创建一些路由映射关系: /admin.../history/ /admin/app名称/model名称/ID/change/ /admin/app名称/model名称/ID/delete/ 二....定制Adminadmin.py只需要讲Mode的某个类注册,即可在Admin实现增删改查的功能,如 1 admin.site.register(models.UserInfo) 但是,这种方式比较简单...分页相关 1 2 3 4 5 6 7 8 # 分页,每页显示条数     list_per_page = 100   # 分页,显示全部(真实数据<该时,才会有显示全部)     list_max_show_all

1.4K90

Web | Django 与数据库交互,你需要知道的 9 个技巧

2.0 ,添加了聚合函数的过滤器参数,使其更容易: from django.contrib.auth.models import User from django.db.models import...典型的例子是 M2M(多对多)关系的直通模型: class Membership(Model): group = ForeignKey(Group) user = ForeignKey(...M2M 模型的另一个常见模式是在两个字段一起作为一个唯一约束。...第一层的树叶为第二层创建一棵新树,以此类推。 索引列的顺序非常重要。 在上面的例子,我们首先会得到一个组(group)的树,另一个树是所有它的用户(user)。...回到文档: ...列与表格内的物理位置有一些自然的相关性 这是 BRIN 索引的关键。为了充分利用它,列必须大致排序或聚集在磁盘上。

2.8K40

Python全栈开发之Django基础

views.py # 接收浏览器请求,进行处理,返回页面相关 admin.py # 站点管理 migrations: 安装应用 # mysite/setting.py INSTALLED_APPS...对象关系映射,是随着面向对象思想发展而产生的,是一种程序技术,用于实现面向对象编程语言里不同类型系统的数据之间的转换,面向对象是软件工程基本原则(如耦合、聚合、封装)的基础上发展起来的,而关系数据库则是数学理论发展而来的...,聚合函数包括:Avg,Count,Max,Min,Sum list = BookInfo.objects.count() 查询集 查询集表示数据库查询到的对象集合 返回查询集的过滤器 all():...将字段定义在任意一端 OneToOneField:一对一,将字段定义在任意一端 可以维护递归的关联关系,使用'self'指定,详见"自关联" 一对多 一本图书中可以对应多个英雄,所以图书和英雄是一对多的关系...语法:变量|过滤器:参数 data|default:'默认' 更多内建过滤器 自定义过滤器 在应用创建templatetags目录 在该目录下创建filters.py文件 #导入Library类

3.7K20

35.Django2.0文档

. {% endcomment %} 3.过滤器 模板过滤器是在变量被显示前修改它的的一个简单方法。 过滤器使用管道字符, {{ name|lower }} #它功能是转换文本为小写。...该层处理与数据相关的所有事务: 如何存取、如何验证有效性、包含哪些行为以及数据之间的关系等    T:代表模板(Template),即表现层。...工作原理 当服务启动时,Django`` url.py`` 引导URLconf,然后执行`` admin.autodiscover()`` 语句。...,作者的邮箱地址允许输入一个空  4.自定义字段标签      在编辑页面,每个字段的标签都是模块的字段名称生成的。...解释一下代码: 我们新建了一个类AuthorAdmin,它是django.contrib.admin.ModelAdmin派生出来的子类,保存着一个类的自定义配置,以供管理工具使用。

11.3K100

一篇文章带你梳理Python Django的正确的学习方法!

返回的意思就是向home.html模版提交一个values变量。urlspatterns的元组添加了正则的导向规则:除去原地址匹配'^$'者导向home。...如果想在url传递多个,可以在你想传递的匹配上面加上括号比如('^([^/]+)/([^/]+) /$', home)就可以匹配/some/some/而some就会被传到处理函数home。...02 模版(Template) 模版在Django是显示数据的地方,通常为HTML格式,在模版Django的处理逻辑要写在{% %},而要显示的变量要写在{{ }}。...(此处假设book和authors 是多对多关系) raw_id_fields = ('publisher',) #添加时候的选择(此处假设publisher和book是一对多关系) admin.site.register...只要修改相关配置文件即可。也可以装其他插件来协助缓存,例如memcached。

1.5K60

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

在这个表单,Question字段是一个select选择框,包含了当前数据库中所有的Question实例。Djangoadmin站点中,自动地将所有的外键关系展示为一个select框。...在我们的例子,目前只有一个question对象存在。 请注意图中的绿色加号,它连接到Question模型。每一个包含外键关系的对象都会有这个绿色加号。...你可以点击其中一列的表头来让列表按照这列的来进行排序,但是was_published_recently这列的表头不行,因为Django不支持按照随便一个方法的输出进行排序。...在QuestionAdmin添加下面的代码: list_filter = ['pub_date'] 它添加了一个“过滤器”侧边栏,这样就可以通过pubdate字段来过滤显示question: ?...要定制管理站点首页,需要重写admin/index.html模板,就像前面修改base_site.html模板的方法一样,源码目录拷贝到你指定的目录内。

3.6K60

37.Django1.11.6文档

由于模板语言没有提供异常处理,任何过滤抛出的异常都将会显示为服务器错误。 因此,如果有合理的可以返回,过滤器应该避免抛出异常。...根据您的需求,包含相关字段的自定义用户模型可能是您更好的选择,但是,与项目应用程序的默认用户模型的现有关系可能有助于额外的数据库加载。...), ) 您可以使用RelatedOnlyFieldListFilter将相关模型的选择限制在该关系涉及的对象: class BookAdmin(admin.ModelAdmin):...给定了lookup_allowed()方法,查询字符串(例如'user__email')和相应的(例如'user@example.com'),并返回一个布尔,表示是否允许使用参数过滤changelist...使用通用关系作为内联 可以使用内联与一般相关的对象。

24.3K80

Django相关知识点回顾

失败汲取教训,寻找失败的原因,为成功做铺垫。你比别人承受的更多,你最后获得的成果越丰硕。不要沮丧,不要畏惧,第三者的角度看自己,你都会瞧不起自己。...|过滤器(参数...)}} b) Django模板过滤器的使用 {{ 模板变量|过滤器:参数 }} 注意:Django过滤器 :之后只能接收一个参数 13.3步骤 13.3.1数据库连接配置 flask...删除 查询对象->对象.delete() 或者: 模型类.objects.filter(...).delete() 查询 模型类.objects.查询函数 查询相关函数: 函数名称 参数 作用 返回...count 无 返回查询结果的数目 数字 条件查询: 对应get,filter,exclude参数可以写查询条件 格式:属性名__条件名 = 可以写多个查询条件,默认是且的关系 F对象: 用于查询时字段之间的比较...团队开发注意事项 浅谈密码加密 Django框架的英文单词 Django数据库的相关操作 DRF框架的英文单词 重点内容回顾-DRF

10K51

Django 3.1 官网学习路线

在处理请求时,Django urlpatterns 的第一个模式开始,沿着列表向下移动,将所请求的 URL 与每个模式进行比较,直到找到一个匹配的。...path() argument: view 当 Django 找到匹配的模式时,它调用指定的视图函数,第一个参数是 HttpRequest 对象,路由中“捕获”的任何都是关键字参数。...在本教程,我们不会使用 Django 的此功能。 path() argument: name 通过命名 URL,您可以 Django 的其他地方明确地引用它,特别是在模板。...字段还可以有各种可选参数;在本例,我们将投票的默认设置为 0。 最后,请注意使用外键定义了关系。这告诉 Django 每个选择都与一个问题相关。...默认是每个页面显示 100 个条目。更改列表分页、搜索框、过滤器、日期层次结构和列标题排序都像您认为的那样协同工作。

8.1K10

django框架菜鸟教程_django框架菜鸟教程

文件跟网站的后台管理站点配置相关。...路由解析顺序 Django在接收到一个请求时,主路由文件的urlpatterns列表以由上至下的顺序查找对应路由规则,如果发现规则为include包含,则再进入被包含的urls的urlpatterns...filter 过滤多个结果 exclude 排除 get 过滤单一结果 过滤条件的表达语法 属性名称__比较运算符= exact contains startwith、endwith isnull...一对应的模型类对象.多对应的模型类名小写_set b = BookInfo.objects.get(id=1) b.heroinfo_set.all() 多到一:多对应的模型类对象.多对应的模型类关系属性名...3、App应用配置 在settings.pyINSTALLED_APPS列表添加此类 4、注册模型类 # 在booktest/admin.py 文件编写代码: from django.contrib

3K40

Django Xadmin多对多字段过滤实例

在xadmin是不能像原生admin那样使用formfield_for_manytomany方法来过滤多对多字段 ?...进入xadmin源码,找到了formfield_for_dbfield这个方法,测试是有用的,可以过滤第一个选项框的 ?...补充知识:给django admin后台管理user扩展下拉框及多选框的字段 1.首先在models.py编写扩展User所用到的userProfile模型及下拉框和多选框选项所需要的模型(因为我所做的下拉框和多选框的都是数据库里面取得...(User) admin.site.register(User, testUserAdmin) 通过这两步就可以试下在django admi台管理User扩展一个下拉框和一个多选框,效果如下图: ?...以上这篇Django Xadmin多对多字段过滤实例就是小编分享给大家的全部内容了,希望能给大家一个参考。

1.8K20
领券