首页 分享 6、Django后台管理的搜索功能实现

6、Django后台管理的搜索功能实现

来源:花匠小妙招 时间:2024-12-05 19:52

最新推荐文章于 2024-10-24 08:47:00 发布

自由太阳 于 2020-01-02 22:22:34 发布

版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。

上一节,我们已经实现了对admin进行简单的定制功能,我们是不是感觉还是缺少一个搜索功能呢?

我们只需要在admin.py中添加一个search_field字段,然后在中间编制你需要搜索的值。

但是事实当我们尝试进行作者搜索时,会出错。

因为author字段是关系表,要要链接到了另一条用户的几录,因此直接这样设置有问题的,我们可以使用连续的两个下划线来引用关系表相关的属性。

在User表中我们可以看见有username、first_name、last_name等字段

接下来我们可以进行如下设置:

我们是不是可以通过这种方式author__username,实现list_display呢?其实是不行的,但是我们可以在models中添加相关的属性:

在admin.py中添加相关的字段值进去:

@admin.register(Blog) class BlogAdmin(admin.ModelAdmin): # list_display用于设置列表页面要显示的不同字段 list_display = ['title','author','author_name','author_last_name','author_email'] # search_fields用于设置搜索栏中要搜索的不同字段 search_fields = ['title','author__username','content']

最后,所以的代码如下:

1、在blog中的admin.py

from django.contrib import admin from blog.models import Blog # Register your models here. @admin.register(Blog) class BlogAdmin(admin.ModelAdmin): # list_display用于设置列表页面要显示的不同字段 list_display = ['title','author','author_name','author_last_name','author_email'] # search_fields用于设置搜索栏中要搜索的不同字段 search_fields = ['title','author__username','content'] 2、在blog中的models.py

from django.db import models # Create your models here. class Blog(models.Model): title = models.CharField('标题', max_length=200) author = models.ForeignKey( 'auth.User', on_delete=models.SET_NULL, null=True, verbose_name='作者' ) content = models.TextField('内容') def __str__(self): return self.title def author_name(self): return '%s' % self.author.first_name author_name.short_description = '作者名称' def author_last_name(self): return "%s"%self.author.last_name author_last_name.short_description = '作者姓氏' def author_email(self): return '%s'%self.author.email author_email.short_description = '作者邮箱'

相关知识

python基于Django的花卉商城系统设计与实现
基于django的鲜花分类系统的设计与实现
python基于Django的鲜花预订购买管理系统
django网上鲜花销售平台设计与实现(程序+开题报告)
【花店管理与推荐系统】Python+管理系统+网站开发+Django网页界面+推荐系统
django网上花店系统
django网上花店系统系统
花店鲜花管理与推荐系统+Python+Django网页界面+管理系统+计算机课设
基于python“花开富贵”花园管理系统
计算机毕业设计django+vue花与梦网上花店管理系统【开题+程序+论文】

网址: 6、Django后台管理的搜索功能实现 https://www.huajiangbk.com/newsview898366.html

所属分类:花卉
上一篇: Springboot计算机毕业设
下一篇: 打造卓越企业官网:关键要素与步骤

推荐分享