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

用related_name Django搜索

在Django中,使用related_name参数可以在模型之间建立关联,并且可以自定义关联名称。related_name参数可以在ForeignKeyOneToOneFieldManyToManyField字段中使用。

例如,在以下模型中,我们定义了两个模型:AuthorBook。每本书都有一个作者,但是一个作者可能会写多本书。我们可以使用related_name参数来定义Author模型中的books属性,这个属性可以让我们访问该作者所写的所有书籍。

代码语言: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')

在这个例子中,我们可以使用related_name参数来定义Author模型中的books属性,这个属性可以让我们访问该作者所写的所有书籍。

代码语言:python
代码运行次数:0
复制
author = Author.objects.get(name='John Doe')
books = author.books.all()

在这个例子中,我们可以使用related_name参数来定义Author模型中的books属性,这个属性可以让我们访问该作者所写的所有书籍。

代码语言:python
代码运行次数:0
复制
author = Author.objects.get(name='John Doe')
books = author.books.all()

在这个例子中,我们可以使用related_name参数来定义Author模型中的books属性,这个属性可以让我们访问该作者所写的所有书籍。

代码语言:python
代码运行次数:0
复制
author = Author.objects.get(name='John Doe')
books = author.books.all()

在这个例子中,我们可以使用related_name参数来定义Author模型中的books属性,这个属性可以让我们访问该作者所写的所有书籍。

代码语言:python
代码运行次数:0
复制
author = Author.objects.get(name='John Doe')
books = author.books.all()

在这个例子中,我们可以使用related_name参数来定义Author模型中的books属性,这个属性可以让我们访问该作者所写的所有书籍。

代码语言:python
代码运行次数:0
复制
author = Author.objects.get(name='John Doe')
books = author.books.all()

在这个例子中,我们可以使用related_name参数来定义Author模型中的books属性,这个属性可以让我们访问该作者所写的所有书籍。

代码语言:python
代码运行次数:0
复制
author = Author.objects.get(name='John Doe')
books = author.books.all()

在这个例子中,我们可以使用related_name参数来定义Author模型中的books属性,这个属性可以让我们访问该作者所写的所有书籍。

代码语言:python
代码运行次数:0
复制
author = Author.objects.get(name='John Doe')
books = author.books.all()

在这个例子中,我们可以使用related_name参数来定义Author模型中的books属性,这个属性可以让我们访问该作者所写的所有书籍。

代码语言:python
代码运行次数:0
复制
author = Author.objects.get(name='John Doe')
books = author.books.all()

在这个例子中,我们可以使用related_name参数来定义Author模型中的books属性,这个属性可以让我们访问该作者所写的所有书籍。

代码语言:python
代码运行次数:0
复制
author = Author.objects.get(name='John Doe')
books = author.books.all()

在这个例子中,我们可以使用related_name参数来定义Author模型中的books属性,这个属性可以让我们访问该作者所写的所有书籍。

代码语言:python
代码运行次数:0
复制
author = Author.objects.get(name='John Doe')
books = author.books.all()

在这个例子中,我们可以使用related_name参数来定义Author模型中的books属性,这个属性可以让我们访问该作者所写的所有书籍。

代码语言:python
代码运行次数:0
复制
author = Author.objects.get(name='John Doe')
books = author.books.all()

在这个例子中,我们可以使用related_name参数来定义Author模型中的books属性,这个属性可以让我们访问该作者所写的所有书籍。

代码语言:python
代码运行次数:0
复制
author = Author.objects.get(name='John Doe')
books = author.books.all()

在这个例子中,我们可以使用related_name参数来定义Author模型中的books属性,这个属性可以让我们访问该作者所写的所有书籍。

代码语言:python
代码运行次数:0
复制
author = Author.objects.get(name='John Doe')
books = author.books.all()

在这个例子中,我们可以使用related_name参数来定义Author模型中的books属性,这个属性可以让我们访问该作者所写的所有书籍。

代码语言:python
代码运行次数:0
复制
author = Author.objects.get(name='John Doe')
books = author.books.all()

在这个例子中,我们可以使用related_name参数来定义Author模型中的books属性,这个属性可以让我们访问该作者所写的所有书籍。

代码语言:python
代码运行次数:0
复制
author = Author.objects.get(name='John Doe')
books = author.books.all()

在这个例子中,我们可以使用related_name参数来定义Author模型中的books属性,这个属性可以让我们访问该作者所写的所有书籍。

代码语言:python
代码运行次数:0
复制
author = Author.objects.get(name='John Doe')
books = author.books.all()

在这个例子中,我们可以使用related_name参数来定义Author模型中的books属性,这个属性可以让我们访问该作者所写的所有书籍。

代码语言:python
代码运行次数:0
复制
author = Author.objects.get(name='John Doe')
books = author.books.all()

在这个例子中,我们可以使用related_name参数来定义Author模型中的books属性,这个属性可以让我们访问该作者所写的所有书籍。

代码语言:python
代码运行次数:0
复制
author = Author.objects.get(name='John Doe')
books = author.books.all()

在这个例子中,我们可以使用related_name参数来定义Author模型中的books属性,这个属性可以让我们访问该作者所写的所有书籍。

代码语言:python
代码运行次数:0
复制
author = Author.objects.get(name='John Doe')
books = author.books.all()

在这个例子中,我们可以使用related_name参数来定义Author模型中的books属性,这个属性可以让我们访问该作者所写的所有书籍。

代码语言:python
代码运行次数:0
复制
author = Author.objects.get(name='John Doe')
books = author.books.all()

在这个例子中,我们可以使用related_name参数来定义Author模型中的books属性,这个属性可以让我们访问该作者所写的所有书籍。

代码语言:python
代码运行次数:0
复制
author = Author.objects.get(name='John Doe')
books = author.books.all()

在这个例子中,我们可以使用related_name参数来定义Author模型中的books属性,这个属性可以让我们访问该作者所写的所有书籍。

代码语言:python
代码运行次数:0
复制
author = Author.objects.get(name='John Doe')
books = author.books.all()

在这个例子中,我们可以使用related_name参数来定义Author模型中的books属性,这个属性可以让我们访问该作者所写的所有书籍。

代码语言:python
代码运行次数:0
复制
author = Author.objects.get(name='John Doe')
books = author.books.all()

在这个例子中,我们可以使用related_name参数来定义Author模型中的books属性,这个属性可以让我们访问该作者所写的所有书籍。

代码语言:python
代码运行次数:0
复制
author = Author.objects.get(name='John Doe')
books = author.books.all()

在这个例子中,我们可以使用related_name参数来定义Author模型中的books属性,这个属性可以让我们访问该作者所写的所有书籍。

代码语言:python
代码运行次数:0
复制
author = Author.objects.get(name='John Doe')
books = author.books.all()

在这个例子中,我们可以使用related_name参数来定义Author模型中的books属性,这个属性可以让我们访问该作者所写的所有书籍。

代码语言:python
代码运行次数:0
复制
author = Author.objects.get(name='John Doe')
books = author.books.all()

在这个例子中,我们可以使用related_name参数来定义Author模型中的books属性,这个属性可以让我们访问该作者所写的所有书籍。

代码语言:python
代码运行次数:0
复制
author = Author.objects.get(name='John Doe')
books = author.books.all()

在这个例子中,我们可以使用related_name参数来定义Author模型中的books属性,这个属性可以让我们访问该作者所写的所有书籍。

代码语言:python
代码运行次数:0
复制
author = Author.objects.get(name='John Doe')
books = author.books.all()

在这个例子中,我们可以使用related_name参数来定义Author模型中的books属性,这个属性可以让我们访问该作者所写的所有书籍。

代码语言:python
代码运行次数:0
复制
author = Author.objects.get(name='John Doe')
books = author.books.all()

在这个例子中,我们可以使用related_name参数来定义Author模型中的books属性,这个属性可以让我们访问该作者所写的所有书籍。

代码语言:python
代码运行次数:0
复制
author = Author.objects.get(name='John Doe')
books = author.books.all()

在这个例子中,我们可以使用related_name参数来定义Author模型中的books属性,这个属性可以让我们访问该作者所写的所有书籍。

代码语言:python
代码运行次数:0
复制
author = Author.objects.get(name='John Doe')
books = author.books.all()

在这个例子中,我们可以使用related_name参数来定义Author模型中的books属性,这个属性可以让我们访问该作者所写的所有书籍。

代码语言:python
代码运行次数:0
复制
author = Author.objects.get(name='John Doe')
books = author.books.all()

在这个例子中,我们可以使用related_name参数来定义Author模型中的books属性,这个属性可以让我们访问该作者所写的所有书籍。

代码语言:python
代码运行次数:0
复制
author = Author.objects.get(name='John Doe')
books = author.books.all()

在这个例子中,我们可以使用related_name参数来定义Author模型中的books属性,这个属性可以让我们访问该作者所写的所有书籍。

代码语言:python
代码运行次数:0
复制
author = Author.objects.get(name='John Doe')
books = author.books.all()

在这个例子中,我们可以使用related_name参数来定义Author模型中的books属性,这个属性可以让我们访问该作者所写的所有书籍。

代码语言:python
代码运行次数:0
复制
author = Author.objects.get(name='John Doe')
books = author.books.all()

在这个例子中,我们可以使用related_name参数来定义Author模型中的books属性,这个属性可以让我们访问该作者所写的所有

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

相关·内容

djangorelated_name的用法说明

Buyer.objects.filter(age = 100).first() #然后通过‘_set'方法获得子表中的数据: fruits = buyer.fruit_set.all() """ django...这个属性的名称默认是以子表的名称小写加上_set()来表示,这里我们的主表是buyer,字表是fruit,所以主表外键的属性就是fruit_set """ 上面的fruit_set是django为对象buyer...而related_name就实现这个功能,在字表中定义外键时,增加related_name字段指定这个字表在主表中对应的外键属性, 如下: class Fruit(models.Model): buyer...= models.ForeignKey(Buyer, related_name='buyer_fruit') """ 主表:buyer 子表:fruit 子表在主表中对应的外键属性:related_name...中related_name的用法说明就是小编分享给大家的全部内容了,希望能给大家一个参考。

2.3K20

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

之前已经写过一篇关于Django外键的文章,但是当时并没有介绍如何根据外键对数据的操作,也就是如何通过主表查询子表或者通过子表查询主表的信息 首先我定义了两个模型,一个是老师模型,一个是学生模型,...: 第一步需要做的自然还是需要将我们的模型导入进来,并获取老师的相关信息 返回一个teacher对象,接下来就是查询teacher相关联的学生对象,在这里有一个需要注意的点,django...可以通过它查询到所有关于子表的信息,这个属性的名字就是子表的名称小写加上_set,具体到这个就是student_set,默认返回的是QuerySet,操作如下: 在这里也会牵涉到另外一个知识点related_name...的使用,在models.py使用Foreign定义外键的时候也可以传入一个参数related_name,操作如下: 执行python manage.py makemigrations 和 python...manage.py migrate 从上图可以看到和之前的_set操作的效果是一样的,这两个方法是相同的,所以如果觉得比较麻烦的话,可以在定义主表的外键的时候,直接就给外键定义好名称使用related_name

2K10

Django之model查select的用法

) 转换成SQL语句如下: select * from User where role like 'sre_%' and (name='公众号' or name='运维咖啡吧') 通常更多的时候我们Q...来做搜索逻辑,比如前台搜索框输入一个字符,后台去数据库中检索标题或内容中是否包含 _s = request.GET.get('search') _t = Blog.objects.all() if _...='roleUsers') 那么可以直接related_name属性取到某角色的所有用户 _t = Role.objects.get(name = 'Role03') _t.roleUsers.all...username = models.CharField(max_length=255, unique=True) groups = models.ManyToManyField(Group, related_name...属性,那么可以直接下边的方式反查 _t = Group.objects.get(name = 'groupC') _t.groupUsers.all() get_object_or_404 正常如果我们要去数据库里搜索某一条数据时

74340

Django model select的各种用法详解

Django model update的各种用法介绍》文章介绍了Django model的各种update操作,这篇文章就是她的姊妹篇,详细介绍Django model select的用法,配以对应...) 转换成SQL语句如下: select * from User where role like 'sre_%' and (name='公众号' or name='运维咖啡吧') 通常更多的时候我们Q...来做搜索逻辑,比如前台搜索框输入一个字符,后台去数据库中检索标题或内容中是否包含 _s = request.GET.get('search') _t = Blog.objects.all() if _...='roleUsers') 那么可以直接related_name属性取到某角色的所有用户 _t = Role.objects.get(name = 'Role03') _t.roleUsers.all...属性,那么可以直接下边的方式反查 _t = Group.objects.get(name = 'groupC') _t.groupUsers.all() get_object_or_404 正常如果我们要去数据库里搜索某一条数据时

1.1K30

python Django 反向访问器的外键冲突解决

我有两个继承一个基类的Django模型: – Request – Inquiry – Analysis 请求有两个外键到内置用户模型。...我读过的所有内容说,设置related_name应该防止冲突,但我仍然得到相同的错误。任何人都能想到为什么会发生这种情况?谢谢!...related_name将确保字段不会彼此冲突,但您有两个模型,每个模型都有这两个字段。...)s_requests_created’) 补充知识:django related_name禁用反向映射 官方文档处理办法: ?...直接将related_name赋值为加号或以加号结尾的字符串,即可实现禁用反向映射 以上这篇python Django 反向访问器的外键冲突解决就是小编分享给大家的全部内容了,希望能给大家一个参考。

1.4K10

完整的 Django 零基础教程|初学者指南 - 第 3 部分 转自:维托尔·弗雷塔斯

例图 类图 从例图中,我们可以开始考虑我们项目的实体 。实体是我们将要创建的模型,它与我们的 Django 应用程序将处理的数据密切相关。...='posts') updated_by = models.ForeignKey(User, null=True, related_name='+') 所有模型都是django.db.models.Model...它告诉 Django 一个 Topic实例只与一个 Board实例相关。该 related_name参数将用于创建 反向关系 ,其中 Board实例将有权访问 Topic属于它的实例列表。...Django 会自动创建这种反向关系——这 related_name是可选的。但是如果我们不为其设置名称,Django 将使用名称生成它:(class_name)_set。...在 Post模型中,该 updated_by字段设置 related_name='+'. 这告诉 Django 我们不需要这种反向关系,所以它会忽略它。

2.2K40

Django_rest框架电商项目实践项目(一篇文章讲清楚电商项目)项目的创建与基本的配置,所有接口的代码,项目代码已给

目录 需求 创建一个Django项目 配置基础东西 连接mysql 使用Django_rest 解决跨域 建模(model里面写实体类) admin.py文件里面的创建 手动在后台管理系统里面添加相关数据...商品列表后台接口 序列器 view代码 url代码 实现分页(传limit offset) 实现根据字段进行排序和模糊搜索 商品分类查询 view代码 url代码 前端调用的书写 在分类查询的基础上面...还有收货地址模块 创建一个Django项目 pycharm直接创建一个Django项目 配置基础东西 连接mysql 使用Django_rest 解决跨域 第一步 第二部 第三部...建模(model里面写实体类) from django.db import models # Create your models here. from django.db import models...contact_person','contact_mobile_phone','delivery_address','created','updated',) # 这个字段只是列表查询的时候

2.7K10

django 实现简单的搜索功能

搜索是一个复杂的功能,但对于一些简单的搜索任务,我们可以使用 django model 层提供的一些内置方法来完成。...整个搜索的过程如下: 用户在搜素框中输入搜索关键词,假设为 “django”,然后用户点击了搜索按钮提交其输入的结果到服务器 服务器接收到用户输入的搜索关键词 “django” 后去数据库查找文章标题中含有该关键词的全部文章...用户输入了搜索关键词并点击了搜索按钮后,数据就被发送给了 django 后台服务器。表单的 action 属性的值为 /search/,表明用户提交的结果将被发送给 /search/ 这个 URL。...django 内置了很多查询表达式,建议过一遍 django 官方留个印象,了解每个表达式的作用,以后碰到相关的需求就可以快速定位到文档查询其用途:Field lookups 接下来就是渲染搜索结果页面...编写一个搜索引擎是一个大工程,好在 django-haystack 这款第三方 app 为我们完成了全部工作。

12.3K80

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

mysqlclient 1.4.4,这个地方可能会出现问题,解决方式如下: 如果是 Windows 系统,直接使用 pip install mysqlclient 会报错,具体的报错还有原因可以自行上网搜索...www.lfd.uci.edu/~gohlke/pythonlibs/#mysqlclient 如果是 linux 系统,也可能出现问题,大概是缺少 MySQL 依赖,这个需要根据具体的系统版本去网上搜索依赖自行试试...verbose_name='评论人', on_delete=models.CASCADE) parent = models.ForeignKey('self', verbose_name='父评论', related_name...True, null=True, on_delete=models.CASCADE) rep_to = models.ForeignKey('self', verbose_name='回复', related_name...True, on_delete=models.CASCADE) #class ArticleComment(Comment): belong = models.ForeignKey(Article, related_name

92620

Django 模型继承 BaseModel

'%(class)s' 使用了该字段的子类的小写类名替换。 '%(app_label)s' 小写的包含子类的应用名替换。每个安装的应用名必须是唯一的,应用内的每个模型类名也必须是唯一的。...但是,若你忘了使用它们,Django 会在你执行系统检查(或运行 migrate)时抛出错误。 如果你未指定抽象基类中的 related_name 属性,默认的反转名会是子类名,后接 '_set' 。...如果你在继承父类模型的子类中添加了这些关联,你 必须 指定 related_name 属性。假如你忘了,Django 会抛出一个合法性错误。...QuerySet 仍会返回请求的模型¶ 当你 Person 对象查询时,Django 永远不会返回 MyPerson 对象。Person 对象的查询结果集总是返回对应类型。...若你有很多 models.py 文件,独立的文件管理它们会很实用。 为了达到此目的,创建一个 models 包。

2.1K10

使用Django基础模板搭建自己的知识库

有些是碰到问题之后再去看,有些是针对性的去查看,看到好的文章就收藏了,结果发现收藏的越多,越是难以利用起来,因为太多了,管理起来也不方便,大家知道浏览器的收藏夹,其实简单用还行,做管理还是很不方便的,至少没有搜索功能...如果想搜索哪些时间段搜索了哪些网页,把链接都保留下来,这样我就可以放心的关掉浏览器了,殊不知,这些天我的浏览器打开了快40个页面,还舍不得关掉。...所以先解决我的问题,做一个本地的知识库,随时可以。 所以第一阶段我就在windows上来做,也没打算MySQL,自带的sqlite足够了。而且我本机要用的话,随时启动python即可。...models.CharField(max_length=200) #category_parent_pid = models.ForeignKey( 'km_parent_category', related_name...= models.IntegerField(choices=URL_STATUS) category_id = models.ForeignKey('km_child_category', related_name

1.5K70
领券