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

在Django Admin中通过关系键(1to1)进行搜索

在Django Admin中,通过关系键(1to1)进行搜索是指在管理后台中使用关系键(OneToOneField)来进行搜索操作。关系键是一种在两个模型之间建立一对一关系的字段类型。

在Django Admin中,可以通过在模型的Admin类中定义search_fields属性来实现通过关系键进行搜索。search_fields属性接受一个包含字段名的列表,Django会在这些字段上进行搜索操作。

例如,假设有两个模型User和Profile,它们之间通过关系键(OneToOneField)建立了一对一关系。我们想要在Django Admin中通过Profile模型的某个字段进行搜索,可以按照以下步骤操作:

  1. 在Profile模型中定义一个字段,例如name:
代码语言:txt
复制
class Profile(models.Model):
    user = models.OneToOneField(User, on_delete=models.CASCADE)
    name = models.CharField(max_length=100)
  1. 在Profile模型的Admin类中定义search_fields属性,将name字段添加到搜索字段列表中:
代码语言:txt
复制
from django.contrib import admin

@admin.register(Profile)
class ProfileAdmin(admin.ModelAdmin):
    search_fields = ['name']

现在,在Django Admin中,可以在Profile模型的管理页面上使用搜索框来搜索name字段。输入关键字后,Django会根据name字段的值进行搜索,并返回匹配的结果。

关于腾讯云相关产品和产品介绍链接地址,由于要求不能提及具体品牌商,无法给出具体的链接地址。但腾讯云提供了云服务器、云数据库、云存储等一系列云计算产品,可以根据具体需求选择适合的产品进行使用。

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

相关·内容

Django管理后台技巧分享之实例关系搜索,autocomplete_fields字段使用

最近博客在做新功能,就是增加了两个模型,分别是专题和主题,主要就是用来对文章进行系列划分,在这个设计过程,文章和主题会进行一个关联,当主题的数量很多的时候,文章选择要关联的主题的时候会非常难选。...我希望文章选择主题的时候可以输入关键字来搜过滤,这样可以减少可选项。基于这个需求,我又重新去看了一下Django关于admin的教程,终于找到了方法,现在分享一下。...= ['name', 'subject__name'] @admin.register(Article) class ArticleAdmin(admin.ModelAdmin): # 可以给外的选择增加搜索...,前提是外的管理模型必须设置search_fields作为搜索条件 autocomplete_fields = ['topic'] 看一下效果: 这里已经出现了搜索框,可以通过搜索条件来过滤选项...总结 本篇介绍了Djangoadmin.ModelAdmin中使用autocomplete_fields字段来给关联模型添加过滤搜索

51420

Django教程第1章 | 快速入门 | 基础知识

django特点 ORM(对象关系映射): Django 提供了一个强大的 ORM,允许开发者通过 Python 代码来定义和操作数据库模型,而无需直接使用 SQL。...模板引擎: Django 使用模板引擎来生成 HTML,这使得前端和后端的代码分离更加容易。Django 的模板语言允许开发者模板嵌入动态内容。...,接下来我们正式进行Django开发。...使用管理工具 启动开发服务器,然后浏览器访问 http://127.0.0.1:8000/admin/,得到如下界面: 你可以通过命令 python manage.py createsuperuser...(Contact, ContactAdmin) admin.site.register([Test]) 本实例我们搜索了 name 为 runoob 的记录,显示结果如下: 如果本文对你有帮助,记得点赞

21210

Django ORM详解

ORM:(django,根据代码的类自动生成数据库的表也叫--code first) ORM:Object Relational Mapping(关系对象映射) 我们写的类表示数据库的表 我们根据这个类创建的对象是数据库表里的一行数据...建表+配置url+views写相应的函数 models.py(django仅且只能在这里写数据库的相关类) ?...,如果根据UserType这张表去查询这两张关联的表的合起来的内容就是反向查 正向查-demo1--查询所有用户为COO 的用户 django中外就相当于简单的使用__连表,在外那个对象中封装了user_type...'__'       获取值得时候通过.跨表     反向查找       Django自动生成 表名_set       其他操作和正向查找一样 二、多对对   1、自动生成关系表     间接的方式获取关系表...               /*                这里需要注意:重点:::::                这里和Django的Q可以进行耦合,我们定义搜索的类型的时候可以直接写成我们要搜索的的

1.7K100

Django的模型类设计及展示示例详解

django设计数据模型类是基于ORM的对象关系映射更方便的进行数据库的数据操作。...对象关系映射 把面向对象的类和数据库表–对应,通过操作类和对象,对数表实现数据操作,不需要写sql,由ORM框架生成 django实现了ORM框架,项目中与数据库之间产生桥梁作用 django数据库定义模型的步骤如下...,确保是有效地图片 ForeignKey: 外,建立一对多关系 from django.db import models # Create your models here....py文件 我们可以通过django自带的admin后台来看见我们所创建的数据模型类。...django的简单项目关于模型的展示设计都完成啦!!! 总结 到此这篇关于Django的模型类设计及展示示例详解的文章就介绍到这了,更多相关django模型类设计及展示内容请搜索ZaLou.Cn

1.4K30

Django安装及简单使用1.5

你可以项目的 settings.py 的 INSTALLED_APPS 看到它: NSTALLED_APPS = [ 'django.contrib.admin', 'django.contrib.auth...依次设置账号 使用管理工具 启动开发服务器,然后浏览器访问 http://127.0.0.1:8000/admin/,得到如下界面: ?...登录后效果 为了让 admin 界面管理某个数据模型,我们需要先注册该数据模型到 admin。比如,我们之前 TestModel 已经创建了模型 Test 。...image.png 内联(Inline)显示 上面的 Contact 是 Tag 的外部,所以有外部参考的关系。 而在默认的页面显示,将两者分离开来,无法体现出两者的从属关系。...(Contact, ContactAdmin) admin.site.register([Test]) 本实例我们搜索了 name 为 runoob 的记录,显示结果如下: ?

93770

Django】当大型项目采用Django框架对于QueryDict以及模板的表单在Admin 管理工具的使用

QueryDict HttpRequest对象,GET和POST属性是django.http的实例。QueryDict类。 QueryDict是一个用户定义的类,类似于字典。...HelloWorld目录创建一个search2.py文件,并使用search_post函数处理post请求: from django.http import HttpResponse from django.shortcuts...当客户发送请求时,可以将数据附加到请求通过解析请求,服务器可以从客户端获取数据,并根据URL提供特定服务。...(Contact, ContactAdmin) admin.site.register([Test, Tag]) 上面的联系人是标记的外部,因此它具有外部引用关系。...: 通过错误消息Py文件的文件路径,…site packages django-2.0-py3.6.eggDjango-db-backends-mysql的路径中找到基,注释掉两行代码(代码位于文件的开头

1.6K20

Django3.2边学边记—Adimn站点管理

类可以控制不同模型Admin界面的展示方式,主要包括列表页的展示方式、添加修改页的展示方式 上文中展示了TestAdmin类的一种注册方法,还有一种方法,就是使用装饰器注册,如下: 123 @admin.register... = 'unknown' 以上通过指定方法属性来控制显示是新老版本通用的,Django3.2可以通过给装饰器传参来解决:   model.py: 1234567891011121314151617...: 123456789101112 from XXX import Testfrom django.contrib import admin class TestAdmin(admin.ModelAdmin...搜索框 用 search_fields,管理启用搜索框。 ...12 class TestAdmin(admin.ModelAdmin):    search_fields = ['id','name'] 搜索框中进行搜索时,Django 会将搜索查询拆分成多个词

1.3K30

django 快速入门

我们要做的就是模型中指定和数据库的关系。 打开hello app的models.py文件,然后添加下面两个模型。这两个模型是宠物和主人的关系。...models.ForeignKey用来指定外约束,还有一些其他的对应关系例如多对多、一对一等就不介绍了。...需要获取参数的时候,直接用request.POST即可,它是一个类似字典的对象,我们可以通过来访问对应参数的值。...需要注意的是,由于前面介绍的django文件搜索机制,静态文件夹,我们最好在指定一级和app同名的文件夹用来区分不同app间的静态文件。...项目公用静态文件 有些静态文件可能是多个app公用的,这时候需要进行一点额外设置。首先在和app同级的目录创建static文件夹并将静态文件放入。然后配置文件添加额外的搜索路径配置。

1.8K60

Django之ORM数据库

每个模型相当于单个数据库表(多对多关系例外,会多生成一张关系表),每个属性也是这个表的字段。...一对一:实质就是主外(author_id就是foreign key)的关系基础上,给外加了一个UNIQUE=True的属性;              一对多:就是主外关系;(foreign key...(如何处理外关系的字段如一对多的publisher和多对多的authors) #一对多(ForeignKey): #方式一: 由于绑定一对多的字段,比如publish,存到数据库的字段名叫...聚合查询和分组查询 aggregate(*args,**kwargs):    通过对QuerySet进行计算,返回一个聚合值的字典。...的配置 admindjango强大功能之一,它能共从数据库读取数据,呈现在页面进行管理。

2.6K10

Django之路由层

作者 一对一 Django创建表与表的外间关系具体程序如下: class Book(models.Model): title = models.CharField(max_length=...,建议建在查询频率高的一方 一对多外字段创建的时候同步到数据中表字段会自动加_id后缀,如果我们手动加了_id orm也会在给我们加一次,所以我们这里不要加_id 多对多关系django orm会自动帮我们创建书籍和作者的第三张关系表...urls 2.进行如下配置 urlpatterns = [ url(r'^admin/', admin.site.urls), # url第一个参数是一个正则表达式 # 路由分发...3.9Django1.x和2.x的版本的路由层区别 1.Django2.x默认的url通过path接收,path的第一个输入值不是正则表达式,里面写的是什么就按什么匹配。...urlpatterns = [ path('admin/', admin.site.urls), ] 2.Django2.x的re_path对应的是Django1.x的url功能相同。

1.3K21

Django 3.1 官网学习路线

字段还可以有各种可选参数;本例,我们将投票的默认值设置为 0。 最后,请注意使用外定义了关系。这告诉 Django 每个选择都与一个问题相关。...按照惯例,Django 会将"_id"附加到外字段名。(是的,你也可以重写这个。) 外关系通过约束来显式的。...投票行动-处理对特定问题中的特定选择进行投票。 Django ,Web 页面和其他内容是通过视图传递的。每个视图都由一个 Python 函数(或方法,对于基于类的视图)表示。...可以通过注册对象时告诉 Django 所需的选项来实现。 通过重新排列编辑表单的字段来了解其工作原理。...“添加选择”表单如下所示: 该表单,“Question”字段是一个选择框,包含数据库的每个问题。Django 知道一个外应该在管理中表示为一个框。我们的例子,目前只存在一个问题。

8.2K10

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

实际的项目中,数据模型通常通过数据库实现持久化操作,而关系型数据库在过去和当下都是持久化的首选方案,下面我们以MySQL为例来说明如何使用关系型数据库来实现持久化操作。...OK 执行完数据模型迁移操作之后,可以通过图形化的MySQL客户端工具查看到E-R图(实体关系图)。 利用Django后台管理模型 Django框架有自带的后台管理系统来实现对模型的管理。...至此我们还没有看到之前创建的模型类,需要在应用的admin.py文件模型进行注册。 注册模型类。...我们可以通过manage.py开启Shell交互式环境,然后使用Django内置的ORM框架对模型进行CRUD操作。..., , ]> 说明1:由于员工与部门之间存在多对一外关联,所以也能通过部门反向查询该部门的员工(从一对多关系“一”

2.2K30

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

这不仅在数据库模式中使用,而且验证中使用。 Field还可以有各种可选参数;在上例,我们将votes的默认值设置为0。 最后,使用ForeignKey定义关系。...(你也可以重写这个行为); 按照惯例,Django会在外的字段名后面添加 "_id"。(你依然可以重写这个行为); 外关系由FOREIGN KEY约束显式声明。...我们将在本教程的后续章节对迁移进行深入地讲解,但是现在,请记住实现模型变更的三个步骤: 修改你的模型(models.py文件); 运行python manage.py makemigrations...您必须从manage.py所在的同一目录运行python,或确保该目录在Python搜索路径,这个import mysite才会成功。...: The sky>, ]> >>> q.choice_set.count() 3 # API会自动进行连表操作,通过双下划线分割关系对象。

2.3K60

django后台管理-admin

0922自我总结 django后台管理-admin 一.模型注册 admin.py 注册方式一: #在对于注册的appadmin文件中导入模型然后注册模型 admin.site.register(导入的模型类...可以settings.py设置: LANGUAGE_CODE = 'zh-CN' TIME_ZONE = 'Asia/Shanghai' 1.8版本之后的language code设置不同: LANGUAGE_CODE...#listdisplay设置要显示列表的字段(id字段是Django模型的默认主键) list_display = ('id', 'caption', 'author', 'publish_time...一般ManyToManyField多对多字段用过滤器;标题等文本字段用搜索框;日期时间用分层筛选。 过滤器如果是外需要遵循这样的语法:本表字段__外表要显示的字段。...如:“user__user_name” 3、颜色显示 from django.db import models from django.contrib import admin from django.utils.html

85210

DjangoORM操作

,此类字段只是Django自带的admin中生效) name=models.CharField(max_length=32) EmailField(CharField): IPAddressField...正向查找:ForeignKey UserInfo表,如果从UserInfo表开始向其他的表进行查询,这个就是正向操作,反之如果从UserType表去查询其他的表这个就是反向操作。...通过对象的形式反向跨表:小写表名_set().all() 1对多 如果A表的1条记录对应B表N条记录成立,两表之间就是1对多关系1对多关系 A表就是主表,B表为子表,ForeignKey...字段就建在子表; 如果B表的1条记录也对应A表N条记录,两表之间就是双向1对多关系,也称为多对多关系orm设置如果 A表设置了外字段user=models.ForeignKey('UserType...数据查找思路 找到该对象 通过该对象 反向操作 找到第三张关系通过第三张关系表 正向操作 找到 和该对象有关系对象 总结(只要对象1和对象2 中间有关系表建立了关系; 对象1反向操作

4.7K10

Django JSONField SQL注入漏洞(CVE-2019-14234)分析与影响

作为铁杆Django用户,发现昨天Django进行了更新,且修复了一个SQL注入漏洞。我印象里这应该是Django第一个SQL注入漏洞,且的确是可能在业务里出现的漏洞,于是进行了分析。...正常情况下,transform一般用来通过连接两个表,比如.filter(author__username='phith0n')可以表示author外连接的用户表,找到username字段;...那么,JSONField,lookup实际上是没有变的,但是transform从“在外查找”,变成了“JSON对象查找”,所以自然需要重写get_transform函数。...原因是,Django-Admin中就支持用户控制queryset的查询键名,我2017年微博说到过这一点,不过当时没有测过JSONField,sad。 ?...总的来说,如果你的应用使用了JSONField,且用户可以进入应用的Django-Admin后台,就可以进行SQL注入。

2K32

Django 上传图片和Admin站点5.2

上传图片 当Django处理文件上传的时候,文件数据被保存在request.FILES FILES的每个的name 注意:FILES只有在请求的方法为...站点 通过使用startproject创建的项目模版,默认Admin被启用 1.创建管理员的用户名和密码 python manage.py createsuperuser 然后按提示填写用户名、邮箱、...密码 2.应用内admin.py文件完成注册,就可以在后台管理维护模型的数据 from django.contrib import admin from models import * admin.site.register...(HeroInfo) 查找admin文件:INSTALLED_APPS项中加入django.contrib.adminDjango就会自动搜索每个应用的admin模块并将其导入 ModelAdmin...list_per_page = 10 search_fields 搜索框 列表类型,表示在这些字段上进行搜索 只能接收字段 class HeroAdmin(admin.ModelAdmin):

45930
领券