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

ForeignKey中的Django搜索函数

在Django中,ForeignKey是一种关系字段,用于建立模型之间的一对多关系。它允许我们在一个模型中引用另一个模型的实例。

Django提供了一些搜索函数,用于在ForeignKey字段中进行高级查询。以下是一些常用的搜索函数:

  1. exact:精确匹配搜索,即完全匹配指定的值。 示例代码:Model.objects.filter(foreign_key_field__exact=value)
  2. iexact:不区分大小写的精确匹配搜索,即忽略大小写进行完全匹配。 示例代码:Model.objects.filter(foreign_key_field__iexact=value)
  3. contains:包含搜索,即搜索包含指定值的记录。 示例代码:Model.objects.filter(foreign_key_field__contains=value)
  4. icontains:不区分大小写的包含搜索,即忽略大小写搜索包含指定值的记录。 示例代码:Model.objects.filter(foreign_key_field__icontains=value)
  5. in:搜索匹配指定值列表中任意值的记录。 示例代码:Model.objects.filter(foreign_key_field__in=value_list)
  6. gt:大于搜索,即搜索大于指定值的记录。 示例代码:Model.objects.filter(foreign_key_field__gt=value)
  7. lt:小于搜索,即搜索小于指定值的记录。 示例代码:Model.objects.filter(foreign_key_field__lt=value)
  8. gte:大于等于搜索,即搜索大于等于指定值的记录。 示例代码:Model.objects.filter(foreign_key_field__gte=value)
  9. lte:小于等于搜索,即搜索小于等于指定值的记录。 示例代码:Model.objects.filter(foreign_key_field__lte=value)

这些搜索函数可以与其他查询条件组合使用,以满足更复杂的查询需求。

对于Django开发中的ForeignKey字段搜索,腾讯云提供的云数据库MySQL和云数据库PostgreSQL是很好的选择。云数据库MySQL是一种高性能、可扩展的关系型数据库,适用于各种规模的应用程序。云数据库PostgreSQL是一种功能丰富、可靠稳定的开源关系型数据库,提供了强大的扩展性和兼容性。

腾讯云云数据库MySQL产品介绍链接地址:https://cloud.tencent.com/product/cdb 腾讯云云数据库PostgreSQL产品介绍链接地址:https://cloud.tencent.com/product/postgres

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

相关·内容

完美解决Django2.0models下ForeignKey()问题

Django2.0编写models类下ForeignKey book = models.ForeignKey(‘BookInfo’) django2.0与之前1.8不同, 错误: book...’ 解决方法: book = models.ForeignKey(‘BookInfo’, on_delete=models.CASCADE,) 加上on_delete参数就可以了!!!...补充知识:Django ForeignKey ondelete CASCADE:删除一并删除关联表下所有的信息; PROTECT:删除信息时,采取保护机制,抛出错误:即不删除关联表内容; SET_NULL...:只有当null=True才将关联内容置空; SET_DEFAULT:设置为默认值; SET( ):括号里可以是函数,设置为自己定义东西; DO_NOTHING:字面的意思,啥也不干,你删除你干我毛线关系...以上这篇完美解决Django2.0models下ForeignKey()问题就是小编分享给大家全部内容了,希望能给大家一个参考。

78610

基于Django OneToOneField和ForeignKey区别详解

,再删除此字段信息时候同时删除包含ForeignKey字段目标(object) PROTECT 通过django.db.IntegrityErrorProtectedError来保护此字段不被删除...ForeignKey设置 SET() 对ForeignKey设置对SET()函数传递数值 DO_NOTHING 不进行任何操作。...通过一个限制对字段信息某一可能选项进行约束,可以通过字典,函数或者查询值来设置 related_name 可以指定关联类在本类名称,通过这一参数可以用两个字段名引用同一个类,通过这个名称父类可以取得子类值...,默认为字段名 related_query_name 用于filter函数过滤和values函数 to_field 关系关联相关对象名称 db_constraint 控制在数据库是否应该建立这一字段约束...参数,又包含一个额外参数parent_link,若定义了一个类,其继承了一个非抽象类,而设置parent_link这个函数为True,则会将这个类视作继承父类,而不是一个新OneToOneField

2.4K20

Django外键(ForeignKey)操作以及related_name作用

之前已经写过一篇关于Django外键文章,但是当时并没有介绍如何根据外键对数据操作,也就是如何通过主表查询子表或者通过子表查询主表信息 首先我定义了两个模型,一个是老师模型,一个是学生模型,...,并获取老师相关信息 返回一个teacher对象,接下来就是查询teacher相关联学生对象,在这里有一个需要注意点,django默认情况下每一个主表对象都有一个是外键属性,可以通过它查询到所有关于子表信息...migrate 从上图可以看到和之前_set操作效果是一样,这两个方法是相同,所以如果觉得比较麻烦的话,可以在定义主表外键时候,直接就给外键定义好名称使用related_name...上面的查询主要是通过主表查询子表信息 下面说一下如何通过子表查询主表相关信息,也就是查询一个学生所对应老师信息 首先需要先获取一个子表对象,那么就可以通过定义外键时候那个外键字段名获取关于主表信息了...比如我得到了一个student对象,然后我想要得到这个student对象对应主表teache信息的话,就使用 student.teacher 获取,其中这个teacher就是在子表定义外键字段

2K10

django 2.x版本models.ForeignKey()外键说明介绍

app_userinfos表 1、ForeignKey 表示设置外健 2、to_field表示外健关联主键 3、on_delete有多个选项 在django2.0后,定义外键和一对一关系时候需要加...SET_DEFAULT:此值设置,会把设置为外键默认值。 SET():此值设置,会调用外面的值,可以是一个函数。 一般情况下使用CASCADE就可以了。...当我们查询一个组有那些用户时候,就会用到当前外健, 创建记录 并且,在class定义了foreignKey之后,group还不存在同时,user表也因为约束原因,不能被进行创建 删除记录 并且...,在class定义了foreignKey之后,user记录存在同时,group表记录也因为约束原因,不能被进行删除 补充知识:owner = models.ForeignKey(User)...2.x版本models.ForeignKey()外键说明介绍就是小编分享给大家全部内容了,希望能给大家一个参考。

1.1K20

DjangoF函数使用示例代码详解

F()函数 F()函数导入 from django.db.models import F 为什么要使用F()函数? 一个 F()对象代表了一个model字段值或注释列。...使用它就可以直接参考modelfield和执行数据库操作而不用再把它们(model field)查询出来放到python内存。...,就是运用F函数: from django.db.models import F post = Post.objects.get(...) post.views = F('views') + 1 post.save...注意,正因为F函数没有在内存操作,因此更新完数据后需要重新刷新内存模型对象: ... post.save() # 重新取值 post = Post.objects.get(...)...到此这篇关于DjangoF函数使用文章就介绍到这了,更多相关DjangoF函数内容请搜索ZaLou.Cn以前文章或继续浏览下面的相关文章希望大家以后多多支持ZaLou.Cn!

1.2K20

django 实现简单搜索功能

搜索是一个复杂功能,但对于一些简单搜索任务,我们可以使用 django model 层提供一些内置方法来完成。...整个搜索过程如下: 用户在搜素框输入搜索关键词,假设为 “django”,然后用户点击了搜索按钮提交其输入结果到服务器 服务器接收到用户输入搜索关键词 “django” 后去数据库查找文章标题中含有该关键词全部文章...我们为这个 URL 绑定一个 django 视图函数,在这个视图函数里完成前面第 2 步提到过程。...这里字典键之所以叫 q 是因为我们表单搜索框 input name 属性值是 q,如果修改了 name 属性值,那么这个键名称也要相应修改。...没有搜索到符合条件文章 {% endfor %} 有了视图函数后记得把视图函数映射到相应了 URL,前面我们表单数据提交 URL 为 /search/,因此将视图函数 search

12.3K80

Django 博客实现简单全文搜索

整个搜索过程如下: 用户在搜素框输入搜索关键词,假设为 “django”,然后用户点击了搜索按钮提交其输入结果到服务器。..." required> name 属性,当用户在这个 input 输入搜索内容并提交表单后,键入数据会以键值对形式提交服务器,这个键名字就是通过 name 属性指定。...查找含有搜索关键词文章 搜索功能将由 search 视图函数提供,代码写在 blog/views.py 里: blog/views.py from django.contrib import messages...这里字典键之所以叫 q 是因为我们表单搜索框 input name 属性值是 q,如果修改了 name 属性值,那么这个键名称也要相应修改。...此外我们这里从 from django.db.models 引入了一个新东西:Q 对象。Q 对象用于包装查询表达式,其作用是为了提供复杂查询逻辑。

69120

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

2.0 ,添加了聚合函数过滤器参数,使其更容易: from django.contrib.auth.models import User from django.db.models import...在 Django 2.0 ,values_list 方法参数添加了一个叫做 named 属性。...自定义函数(Custom functions) Django 2.0 ORM 功能非常强大,而且特性丰富,但还是不能与所有数据库特性同步。不过幸运是,ORM让我们用自定义函数来扩展它。...: [1–3], [4–6], [7–9] 我们尝试通过此索引搜索 5: [1–3] —  绝对没在这里 [4–6] — 可能在这里 [7–9] — 绝对没在这里 使用索引,我们限制了我们搜索范围在...-- 它不仅没有限制搜索,实际上我们不得不搜索更多,因为我们同时提取了索引和整个表。

2.8K40

django admin配置搜索域是一个外键时处理方法

python 2.7.11 django 1.8.4 错误内容:related Field has invalid lookup: icontains 我原来默认认为在处理外键搜索时候,django...会自动将该外键行数据以str()化之后进行搜索,但其实并不是这样,如果将外键加入到搜索域中,需要明确写出来。...admin 系统搜索时可能会出现“related Field has invalid lookup: icontains”错误,主要原因是外键查询是需要指定相应字段。...,部署到云服务器上后,就在后台管理系统中看到B属性一栏f显示为A_Object,并没有显示A属性——name值。...(A,on_delete=models.DO_NOTHING) def __str__(self): return self.name 以上这篇在django admin配置搜索域是一个外键时处理方法就是小编分享给大家全部内容了

3.8K20

Django 教程 --- Django视图

根据Django文档,视图函数是一个Python函数,它接受Web请求并返回Web响应。此响应可以是网页HTML内容,重定向,404错误,XML文档或图像(Web浏览器可以显示任何内容) ?...基于功能视图 基于函数视图是使用python函数编写,该函数以HttpRequest对象作为参数并返回HttpResponse对象。...Django CRUD(创建,检索,更新,删除)基于功能视图:- 创建视图–基于函数视图Django 细节视图–基于函数视图Django 更新视图–基于函数视图Django 删除视图–基于函数视图...Django 基于类视图 基于类视图提供了一种将视图实现为Python对象而非函数替代方法。...在geeks / urls.py, from django.urls import path # importing views from views..py from .views import

3K30

博客将 Django 1.11+ 升级到 Django 2.2+ 遇到问题及规避方法

但是,秉着向新技术看齐态度,我还是花了些时间(大概半天)把博客依赖 Django 升级到当前最新版 Django 2.2.6 版本了,在升级过程也遇到了很多问题,这些问题也是之前考虑到,所以基本都迎刃而解了...install mysqlclient 会报错,具体报错还有原因可以自行上网搜索,这个时候应该选择下载 whl 文件方式安装,具体下载地址推荐 https://www.lfd.uci.edu/~...因为在 Django 1.x 版本,这个参数是有默认值,但是 Django 2.x 没有指定,所以需要显示设定一个值。...(), # 删除之后执行一个函数 比如我这里添加了如下几个字段: # class Article(models.Model): author = models.ForeignKey(settings.AUTH_USER_MODEL...migrate 报错 由于 django 2.2+ auth 应用数据库迁移文件比 1.11+ 版本多了几个,所以按理需要把这几个迁移文件添加到数据库,但是由于我添加了 oauth 应用,这个应用必须依赖

93020

基于django视频点播网站开发-step4-首页功能

在本讲,我们开始首页功能开发,在开发过程,大家将会学习到Django通用视图类、分页对象paginator以及foreignKey外键使用。 效果演示 [16851ab0d057a5d6?...我这样设计目的呢,是让大家把精力放到学习django上面来,不必过度关注花哨页面效果。 我们把首页拆解为4个小业务模块来开发,分别是:列表显示、分页功能、搜索功能、分类功能。...这里我们使用到了django内置标签,比如for语句、empty语句。这些都是django中非常常用语句。在之后教程我们会经常遇到。...显示结果如下 [首页展示] 分类功能 在写分类功能之前,我们先学习一个回调函数 get_context_data() 这是ListView视图类一个函数,在 get_context_data() 函数...使用方法,可参考 这里 分页功能 在Django,有现成分页解决方案,我们开发者省了不少事情。

1.3K41

统计各个分类下文章数

category 1 在 Category 表对应 id 是 1,Django 就在 Post 表搜索哪些行 category_id 为 1,发现前 3 行都是,把这些行取出来就是 category...把这个统计数字保存到每一条 Category 记录就可以了(当然并非保存到数据库,在 Django ORM 是保存到 Category 实例属性,每个实例对应一条记录)。...在我们博客,获取侧边栏分类列表方法写在模板标签 get_categories 里,因此我们修改一下这个函数,具体代码如下: blog/templatetags/blog_tags.py from...代码 Count 方法为我们做了这个事,它接收一个和 Categoty 相关联模型参数名(这里是 Post,通过 ForeignKey 关联),然后它便会统计 Category 记录集合每条记录下与之关联...因为 num_posts 值小于 1 表示该分类下没有文章,没有文章分类我们不希望它在页面显示。关于 filter 函数以及查询表达式(双下划线)在之前已经讲过,具体请参考 分类与归档。

96340

Django分组聚合查询实例分享

high_price 50; 聚合查询—基于ORM 聚合函数使用场景: 单独使用:不分组,只查聚合结果 分组使用: 按字段分组,可查分组字段与聚合结果 导入聚合函数: from django.db.models...一个 (元组套元组) sex = models.SmallIntegerField(choice=((1,’man’),(2,’female’))) obj.get_sex_display()...本身字段,关联字段) 断开外键关联ForeignKey使用(一对多,一对一) # 一对多查询 —-(publish and book) # 方式一 : 不使用外键,在book 添加 publish_id...(book(外键) and author) # 断开后依然支持Django ORMlianiao 查询语法 # 当新表无需新加额外字段时, 可以自动创建 class MyBook(models.Model...,更多相关Django分组聚合查询内容请搜索ZaLou.Cn以前文章或继续浏览下面的相关文章希望大家以后多多支持ZaLou.Cn!

1.8K10

Django+xadmin打造在线教育平台(一)

个人中心: 修改头像,修改密码,修改邮箱,可以看到我课程以及我收藏。可以删除收藏,我消息。 导航栏: 公开课,授课讲师,授课机构,全局搜索。 点击公开课–> 课程列表,排序-搜索。...热门课程推荐,课程分页。 点击课程–> 课程详情页对课程进行收藏,取消收藏。富文本展示课程内容。 点击开始学习–> 课程章节信息,课程评论信息。课程资源下载链接。...课程列表页:过滤器->选择字段范围等,搜索,导出csv,xml,json。 课程新增页面上传图片,富文本编辑。时间选择,添加章节,添加课程资源。 日志记录:记录后台人员操作 ? ?...pymysql pymysql.install_as_MySQLdb() 迁移数据库 python manage.py makemigrations python manage.py migrate user还需要添加表...去掉searchfor勾选。拖进去之后会报错,说找不到那些import模块了。 解决方案:右键Mark为sourceRoot。根目录下找不到,会去apps下搜索

5.6K121

Django ORM详解

ORM:(在django,根据代码类自动生成数据库表也叫--code first) ORM:Object Relational Mapping(关系对象映射) 我们写类表示数据库表 我们根据这个类创建对象是数据库表里一行数据...obj.id  obj.name.....就是数据库一行数据一部分数据 ORM--First: 我们在学习djangoorm时候,我们可以把一对多,多对多,分为正向和反向查找两种方式。...马上就要开始我们orm查询之旅!!! 建表+配置url+views写相应函数 models.py(在django仅且只能在这里写数据库相关类) ?...这里需要注意:重点:::::                这里和DjangoQ可以进行耦合,在我们定义搜索类型时候可以直接写成我们要搜索'库字段或者条件都可以!!!'                ...:             #在搜索条件集合增加条件,条件为元组形式,k为字典key!

1.7K100

Django实战-Signals 信号量

Django实战-多对多查询 Django网络应用开发5项基础核心技术包括模型(Model)设计,URL 设计与配置,View(视图)编写,Template(模板)设计和Form(表单)使用...这个功能在用户发生某个动作时候将其记录下来或者附加某些操作,比如通知好友。要实现这种功能可以在动作发生代码里实现,也可以通过数据库触发器等实现,但在django,可以使用signals。...记录每个操作,同时还能追踪到这个操作具体动作: ① 用信号机制,监听信号,实现对信号响应函数,在响应函数记录发生动作。...② 为了能追踪到操作具体动作,必须从这张表得到相应操作model,这就得用ContentType。...,都将执行post_post_save函数,可以在这个接受函数实现通知好友等功能。

73530
领券