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

如何在Django Admin中访问ManyToManyField的两个方向?

在Django Admin中访问ManyToManyField的两个方向,可以通过以下步骤实现:

  1. 首先,在你的Django项目中创建一个模型,其中包含ManyToManyField字段。例如,假设你有两个模型:BookAuthor,它们之间是多对多关系。
代码语言:python
代码运行次数:0
复制
from django.db import models

class Author(models.Model):
    name = models.CharField(max_length=100)

class Book(models.Model):
    title = models.CharField(max_length=100)
    authors = models.ManyToManyField(Author)
  1. 接下来,在你的应用程序的admin.py文件中注册这些模型,并自定义ModelAdmin类。
代码语言:python
代码运行次数:0
复制
from django.contrib import admin
from .models import Book, Author

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

class AuthorAdmin(admin.ModelAdmin):
    filter_horizontal = ('book_set',)

admin.site.register(Book, BookAdmin)
admin.site.register(Author, AuthorAdmin)

在上面的代码中,我们使用filter_horizontal属性来改善ManyToManyField字段的显示方式。对于Book模型,我们使用filter_horizontal = ('authors',)来在Django Admin中以水平方式显示authors字段。对于Author模型,我们使用filter_horizontal = ('book_set',)来以水平方式显示book_set字段。

  1. 现在,当你在Django Admin中编辑BookAuthor对象时,你将能够方便地访问ManyToManyField的两个方向。在Book编辑页面中,你可以选择相关的作者。在Author编辑页面中,你可以选择相关的书籍。

这样,你就可以在Django Admin中访问ManyToManyField的两个方向了。

关于腾讯云相关产品和产品介绍链接地址,由于要求不能提及具体的云计算品牌商,我无法提供相关链接。但你可以在腾讯云官方网站上查找相关产品和文档,以了解他们提供的云计算解决方案。

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

相关·内容

Python:Django搭建博客

MEDIA_ROOT = os.path.join(BASE_DIR, 'media') 在 settings.py 里设置完毕后,我们在项目中也创建这两个文件在,在项目根目录创建 static 与...media 这两个文件夹 配置 pycharm 运行参数 配置完成后点击 pycharm 运行按钮,在浏览器输入 127.0.0.1:8000 访问,出现小火箭升空表示 Django...安装成功, 访问 Django-admin 界面, 在浏览器输入 127.0.0.1:8000/admin,看到 Django 管理,需要输入用户名密码,输入用户名密码后可以跳转到 Django 管理页面表示...OK 用 django-admin 管理 数据库迁移完成会在 post 应用下生成一个迁移文件,接下来在 django-admin 中注册模型,便于我们用 django-admin 管理 /post...再次进入 admin,选择文章修改就可以看到集成 markdown 编辑器了 实现视图 首先找到一套你喜欢模版,将模版下载下来,html 部分放入 templates ,其他静态文件放入 static

56300
  • 何在Django中使用聚合实现示例

    在本文中,我想向您介绍如何在Django中使用聚合,聚合含义是“内容相关项集合,以便它们可以显示或链接到”。...在Django,我们使用情况例如: 用于在Django模型数据库表查找列“最大值”,“最小值”。 用于基于列在数据库表查找记录“计数”。 用于查找一组相似对象“平均值”值。...在数据库,它们由运算符表示为sum,avg等。执行这些操作Django在查询集中添加了两个新方法。 这两种方法是聚合和注释。...,打开Myapp下admin.py文件,加入: from django.contrib import admin from .models import Book, Author, Publisher...admin.site.register(Book) admin.site.register(Author) admin.site.register(Publisher) 之后,您需要打开管理面板并将一些项目添加到数据库

    1.7K31

    Django admin Foreignkey ManyToMany list_display展示

    admin展示ghosts信息,那么在list_display中直接加入’ghosts’ 会报下面的错误:The value of ‘list_display[1]’ must not be a ManyToManyField...g.ghost.name) return ','.join(ghost_list) get_ghost_name.short_description = "Ghosts" 如果需要更丰富信息可以参考上面代码注释链接...admin Foreignkey ManyToMany list_display展示》 * 本文链接:https://h4ck.org.cn/2019/12/django-admin-foreignkey-manytomanykey-list_display...How to show a name instead of id) Django 限制访问频率 Apache2 Django {“detail”:”Authentication credentials...wp-admin 诡异404和500错误 再谈《Django 限制访问频率》 Django input value值被截断 Django APScheduler + uwsgi 定时任务重复运行

    75020

    Django 系列博客(十三)

    Django 系列博客(十三) 前言 本篇博客介绍 Django 常用字段和参数。 ORM 字段 AutoField int 自增列,必须填入参数 primary_key=True。...数据库字段【年】部分是否可以建立唯一索引 verbose_name Admin显示字段名称 blank Admin是否允许用户输入为空 editable...Admin是否可以编辑 help_text Admin该字段提示信息 choices Admin显示选择框内容,用不变动数据放在内存从而避免跨表操作...on_delete 级联删除选项 ManyToManyField 用于表示多对多关联关系。在数据库通过第三张表来建立关联关系。...through 在使用 ManyToManyField 字段时,Django 将自动生成一张表来管理多对多关联关系。

    1.1K30

    Django管理应用程序高级配置在BookInstance模型运用【Django

    Django管理应用程序 Django管理应用程序可以使用模型自动构建可用于创建、查看、更新和删除记录站点区域。这可以在开发过程节省大量时间,使测试模型和查看是否有正确数据变得容易。...添加一个筛选器,以根据日期或其他选择值(账面付款状态)选择要列出记录。...向列表视图中操作菜单添加其他选项,并选择此菜单在表单上显示位置。 详细信息视图 选择要显示(或排除)字段、它们顺序、分组、可编辑、要使用小部件、方向等。...= ('last_name', 'first_name', 'date_of_birth', 'date_of_death') 不幸是,我们无法直接指定列表_显示基因字段,因为它是一个ManyToManyField...(Django可以防止这种情况,因为这样做会产生大量数据库访问“成本”)。

    1.7K20

    Django之ForeignKey和ManyToManyField多表查询

    Entry.blog作为Blog外键,默认情况下Blog.entry_set是包含所有参照BlogEntry示例查询集,可以使用查询集API取出相应实例。...ManyToManyField.through_fields 上文示例Membership 有两个外键指向Person (person 和inviter),这使得关联关系含混不清并让Django 不知道使用哪一个...ManyToManyField 字段模型外键名称(本例为group),field2 为指向目标模型外键名称(本例为person)....ManyToManyField.db_table 默认情况下,关联表名称使用多对多字段名称和包含这张表模型名称以及Hash值生成,:memberShip_person_3c1f5 若要想要手动指定表名称...添加删除关联 因为ManyToManyField自动维护关联表,程序员不便于直接访问ManyToManyField提供了API用于添加和删除关联(即through表记录).

    1.8K10

    ​第 07 篇:创作后台开启,请开始你表演!

    它所言,我们确实还没有发布任何文章,本节我们将使用 django 自带 admin 后台来发布我们博客文章。...admin.site.register(Category) admin.site.register(Tag) 运行开发服务器,访问 http://127.0.0.1:8000/admin/ ,就进入了到了...在支持 Markdown 语法部分中将介绍如何在文章插入图片方法。...访问 http://127.0.0.1:8000/ 首页,你就可以看到你添加文章列表了,下面是我所在环境效果图: 定制 admin 后台 使用 admin 后台时候,我们发现了下面的一些体验相关问题...这个方法接收四个参数,其中前两个,一个是 request,即此次 HTTP 请求对象,第二个是 obj,即此次创建关联对象实例,于是通过复写此方法,就可以将 request.user 关联到创建

    1.1K20

    django admin 根据choice字段选择不同来显示不同页面方式

    } }; #当选择类型改变时候触发react函数 django.jQuery(function () { react(); django.jQuery...) 补充知识:Django之自定义用户权限(自定义RBAC组件) RBAC组件 rbac 组件一般我们用于权限校验,帮助我们更好管理用户认证信息,不同用户权限不同,访问界面展示也不相同 什么是权限...class User(models.Model): class Meta: # 此处设置 admin 显示名称 verbose_name = verbose_name_plural...首先自定过滤器 # web.py 文件 from django.utils.safestring import mark_safe from django.template import Library...以上这篇django admin 根据choice字段选择不同来显示不同页面方式就是小编分享给大家全部内容了,希望能给大家一个参考。

    2.9K10

    django自定义非主键自增字段类型详解(auto increment field)

    多对多:在某表创建一行数据是,有一个可以多选下拉框 例如:创建用户信息,需要为用户指定多个爱好 一对一:在某表创建一行数据时,有一个单选下拉框(下拉框内容被用过一次就消失了 例如:原有含10...(表名__字段名=1).values('表名__字段名') limit_choices_to=None, # 在Admin或ModelForm显示关联数据时,提供条件: # : - limit_choices_to...parent_link=False # 在Admin是否显示关联数据 OneToOneField(ForeignKey) to, # 要进行关联表名 to_field=None # 要关联字段名称...一对一其实就是 一对多 + 唯一索引 # 2.当两个类之间有继承关系时,默认会创建一个一对一字段 # 如下会在A表额外增加一个c_ptr_id列且唯一: class C(models.Model):...('表名__字段名') limit_choices_to=None, # 在Admin或ModelForm显示关联数据时,提供条件: # : - limit_choices_to={'nid__gt

    2.3K10

    django模型动态修改参数,增加 filter 字段方式

    Admin以及ModelForm中提供验证 URL SlugField(CharField) - 字符串类型,Django Admin以及ModelForm中提供验证支持 字母、数字、下划线、连接符(...减号) CommaSeparatedIntegerField(CharField) - 字符串类型,格式必须为逗号分割数字 UUIDField(Field) - 字符串类型,Django Admin以及...ModelForm中提供对UUID格式验证 FilePathField(Field) - 字符串,Django Admin以及ModelForm中提供读取文件夹下文件功能 - 参数: path,...ManyToManyField 在数据库通过第三张表来建立关联关系。 字段参数: to:设置要关联表 related_name:同ForeignKey字段。...through:在使用ManyToManyField字段时,Django将自动生成一张表来管理多对多关联关系。

    3.8K31

    Django REST 框架详解 07 | 三大认证与权限六表

    频率组件:限制视图接口被访问次数 限制条件:IP,userid,唯一键(手机号) 频率周期时间:s,m,h,d 频率次数:3/h 没有达到限次:正常访问 达到限次:限制时间内不能访问,返回500,...限制时间达到后,可以重新访问 详细:Django REST 框架详解 10 | 频率认证组件 4....self.check_throttles(request) 二、权限六表 基于用户角色权限访问控制 (RBAC,Role Based Access Control):Django 框架使用...权限五表 会发现权限三表,User 表与 Group 表多对多关系, Group 表与 Permission 表是多对多关系。所以,需要新建这两张关系表,这就是权限五表。...重新装 清空数据库迁移记录文件 django.contrib.admin.migraions 清空除了 init.py 以外文件 django.contrib.auth.migraions 清空除了

    1.5K20

    Django之路由层

    ,但是建议建在查询频率较高那一方 author = models.ManyToManyField(to='Author') # django orm会自动帮我们创建书籍和作者第三张关系表...,在Django中所有的app都建立自己独立urls.py,这时总路由不在做匹配活,而仅仅是做任务分发(请求来了之后总路由不做对应关系,只负责询问你要访问哪个app功能然后将请求转发给对应app...3.9Django1.x和2.x版本路由层区别 1.Django2.x默认url通过path接收,path第一个输入值不是正则表达式,里面写是什么就按什么匹配。...urlpatterns = [ path('admin/', admin.site.urls), ] 2.Django2.xre_path对应Django1.xurl功能相同。...是两个数字,返回结果也必须是两个数字 在urls.py,使用 register_converter 将其注册到URL配置: from django.urls import path,register_converter

    1.3K21
    领券