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

Django:在Django Admin中过滤或显示模型方法

Django Admin 是 Django 的一个内置应用,用于管理数据库中的数据。在 Django Admin 中,可以使用列表显示模型方法的结果,也可以使用过滤器来过滤模型方法的结果。

要在 Django Admin 中显示模型方法的结果,可以在模型的 Admin 类中定义一个方法,并将其添加到 list_display 属性中。例如,如果要在 Django Admin 中显示一个名为“full_name”的方法,可以在模型的 Admin 类中定义如下代码:

代码语言:python
复制
class PersonAdmin(admin.ModelAdmin):
    list_display = ('full_name',)

在上面的代码中,“full_name”是一个模型方法,它将返回一个字符串,表示该人的全名。

要在 Django Admin 中过滤模型方法的结果,可以在模型的 Admin 类中定义一个方法,并将其添加到 list_filter 属性中。例如,如果要在 Django Admin 中过滤一个名为“age_group”的方法,可以在模型的 Admin 类中定义如下代码:

代码语言:python
复制
class PersonAdmin(admin.ModelAdmin):
    list_filter = ('age_group',)

在上面的代码中,“age_group”是一个模型方法,它将返回一个字符串,表示该人的年龄组。

总之,在 Django Admin 中过滤或显示模型方法的结果非常简单,只需要在模型的 Admin 类中定义一个方法,并将其添加到 list_display 或 list_filter 属性中即可。

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

相关·内容

django admin详情表单显示添加自定义控件的实现

开发中有需求详情显示里外键字段内容,并且添加按钮弹窗内容,以及按钮跳转内容。...这个时候我们就可以详情内看见button了,但是相对应的,detail的表单添加后,add的表单也会出现一个button,这个不是我们想要的,所以就要想办法让button只存在于detail界面...补充知识:Django admin 列表每行后面添加审核按钮 我就废话不多说了,还是直接看代码吧!...admin的把 pass_audit_str 加入到list_display元组 list_display = (‘id’, ‘create_time’, ‘pass_audit_str’,)...刷新页面即可; 以上这篇django admin详情表单显示添加自定义控件的实现就是小编分享给大家的全部内容了,希望能给大家一个参考。

4.9K20

Django 2.1.7 Admin - 注册模型、自定义显示列表字段

使用Django的管理模块,需要按照如下步骤操作: 1.管理界面本地化 2.创建管理员 3.注册模型类 4.自定义管理页面 1.管理界面本地化 本地化是将显示的语言、时间等使用本地的习惯,这里的本地化就是进行中国化...3.注册模型类 登录后台管理后,默认没有我们创建的应用定义的模型类,需要在自己应用admin.py文件中注册,才可以在后台管理中看到,并进行增删改查操作。...) admin.site.register(ScriptInfo) 到浏览器刷新页面,可以看到模型类的管理了。...列表页中点击"增加"可以进入增加页,Django会根据模型类的不同,生成不同的表单控件,按提示填写表单内容后点击"保存",完成数据创建,创建成功后返回列表页。...4.自定义管理页面 列表页只显示出了ServerInfo object,对象的其它属性并没有列出来,查看非常不方便。Django提供了自定义管理页面的功能,比如列表页要显示哪些值。

1.1K20

Django 2.1.7 Admin管理后台 - 注册模型、自定义显示列表字段

使用Django的管理模块,需要按照如下步骤操作: 1.管理界面本地化 2.创建管理员 3.注册模型类 4.自定义管理页面 1.管理界面本地化 本地化是将显示的语言、时间等使用本地的习惯,这里的本地化就是进行中国化...3.注册模型类 登录后台管理后,默认没有我们创建的应用定义的模型类,需要在自己应用admin.py文件中注册,才可以在后台管理中看到,并进行增删改查操作。...) admin.site.register(ScriptInfo) 到浏览器刷新页面,可以看到模型类的管理了。...列表页中点击"增加"可以进入增加页,Django会根据模型类的不同,生成不同的表单控件,按提示填写表单内容后点击"保存",完成数据创建,创建成功后返回列表页。...4.自定义管理页面 列表页只显示出了ServerInfo object,对象的其它属性并没有列出来,查看非常不方便。 Django提供了自定义管理页面的功能,比如列表页要显示哪些值。

2.6K40

Django 模型自定义Manager和模型方法

1.自定义管理器(Manager) 语句Book.objects.all(),objects是一个特殊的属性,通过它来查询数据库,它就是模型的一个Manager....现在我们可以进行下面的操作: >>> Books.objects.title_count('django') #这是我们自定义的manager的查询方法 2 >>> Books.objects.filter...Django将会把第一个Manager 定义为默认Manager ,Django的许多部分(但是不包括admin应用)将会明确地为模型使用这个manager。...同样重要的是,您要传递可以传递给模型方法的参数——这就是*args, **kwargs所做的事情。Django将不时扩展内置模型方法的功能,并添加新的参数。...如果您在方法定义中使用了*args, **kwargs,您将保证您的代码添加时将自动支持这些参数。

2.7K20

脚本单独使用django的ORM模型详解

有时候测试django中一些模块时,不想重新跑一整个django项目,只想跑单个文件,正好写在if __name__ == ‘__main__’: 这样也不会打扰到正常的代码逻辑 方法 正常方法 大家都知道的方法就是...’python manage.py shell’,当然我知道这可能不是你需要的; 更好用的方法 脚本import模型前调用下面几行即可: import os, sys BASE_DIR = os.path.dirname...))) os.environ.setdefault("DJANGO_SETTINGS_MODULE", "dj_tasks.settings") # 你的django的settings文件 接下来再调用...导入models的时候,还没有django对应的环境下导入 这里导入的顺序很重要 import os import django os.environ.setdefault('DJANGO_SETTINGS_MODULE...以上这篇脚本单独使用django的ORM模型详解就是小编分享给大家的全部内容了,希望能给大家一个参考。

4.8K10

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

类可以控制不同模型Admin界面的展示方式,主要包括列表页的展示方式、添加修改页的展示方式 上文中展示了TestAdmin类的一种注册方法,还有一种方法,就是使用装饰器注册,如下: 123 @admin.register...list_display = ['id','title','pub_date']   或者模型方法,要求方法有返回值,如下在模型定义一个方法  1234 class TestInfo(models.Model...atitle.short_description='标题'   如果是更改模型字段显示的列标题,可以定义模型字段时,设置verbose_name的值 ,或者封装成方法,再对方法使用上面那个属性,模型字段不能直接使用那个属性... = 'unknown' 以上通过指定方法属性来控制显示是新老版本通用的,Django3.2可以通过给装饰器传参来解决:   model.py: 1234567891011121314151617...过滤器 用 list_filter 来激活管理更改列表页面右侧侧栏的过滤器,如下截图所示: list_filter 应是一个列表元组,参数字段可以是模型字段,包括外键字段(注意list_display

1.3K30

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

类可以控制不同模型Admin界面的展示方式,主要包括列表页的展示方式、添加修改页的展示方式 上文中展示了TestAdmin类的一种注册方法,还有一种方法,就是使用装饰器注册,如下: 123 @admin.register...list_display = ['id','title','pub_date']   或者模型方法,要求方法有返回值,如下在模型定义一个方法  1234 class TestInfo(models.Model...atitle.short_description='标题'   如果是更改模型字段显示的列标题,可以定义模型字段时,设置verbose_name的值 ,或者封装成方法,再对方法使用上面那个属性,模型字段不能直接使用那个属性... = 'unknown' 以上通过指定方法属性来控制显示是新老版本通用的,Django3.2可以通过给装饰器传参来解决 1234567891011121314151617 from django.db...应是一个元素的列表元组,会将对应字段的值列出来,一般用于快速过滤有重复值的字段 12 class TestAdmin(admin.ModelAdmin):    list_filter = ['is_delete

1.1K00

Django Admin后台管理

admin.py创建一个admin.ModelAdmin的子类,注册模型类时调用admin.site.register方法时,第二个参数中指定自定义的模型管理类。...(StudentInfo) 显示效果如下 list_display的项可以是模型字段,也可以是模型方法(该方法必须有返回值) 修改应用下models.py的SchoolInfo类 # 学校模型类...注:属性列在后台管理页面是可以进行排序的,而方法列是不能排序的,如果需要排序需要设置admin_order_field属性来为方法指定排序依据。...列标题默认是属性名方法名,可以通过short_description属性设置。需要先将模型字段封装成方法,再对方法使用short_description属性,模型字段不能直接使用这个属性。.../', include('tinymce.urls')), # 富文本编辑器 随后就可在模型类中使用该字段,应用的models.py添加如下内容 from django.db import models

2.7K10

Django 上传图片和Admin站点5.2

上传图片 当Django处理文件上传的时候,文件数据被保存在request.FILES FILES的每个键为的name 注意:FILES只有在请求的方法为...密码 2.应用内admin.py文件完成注册,就可以在后台管理维护模型的数据 from django.contrib import admin from models import * admin.site.register...对象 ModelAdmin类是模型Admin界面的表示形式 定义:定义一个类,继承于admin.ModelAdmin,注册模型时使用这个类 class HeroAdmin(admin.ModelAdmin...True actions_on_bottom = True list_display 出现列表显示的字段 列表类型 列表,可以是字段名称,也可以是方法名称,但是方法名称默认不能排序 方法可以使用...other', {'fields': ('hcontent')}) ) fields与fieldsets两者选一 InlineModelAdmin对象 类型InlineModelAdmin:表示模型的添加修改页面嵌入关联模型的添加修改

45330

django小技巧之html模板调用对象属性对象的方法

… ] … 项目名称目录下,添加模板目录并在其下添加应用的模板目录: ]# mkdir -p templates/bookshop 主url路由配置文件,添加查找应用url的路由:...url(r’^$’,views.index,name=’index’), ] 以上基本配置完成,下面演示模板调用对象的方法: 定义模型类: 为了不用迁移,定义模型类要和test2数据库结构一样...–注释 #点号解析顺序: #1.先把hero作为字典,hname为键查找 #2.再把hero作为对象,hname为属性方法查找 #3.最后把hero作为列表,hname为索引查找 — <...您可能感兴趣的文章: 简单了解Django模板的使用 django模板语法学习之include示例详解 解决Django模板无法使用perms变量问题的方法 基于Django模板的数字自增(详解) Django...模板变量如何传递给外部js调用的方法小结 python Django模板的使用方法 编写自定义的Django模板加载器的简单示例 python Django模板的使用方法(图文)

3.3K21

django后台管理-admin

0922自我总结 django后台管理-admin 一.模型注册 admin.py 注册方式一: #在对于注册的appadmin文件中导入模型然后注册模型 admin.site.register(导入的模型类...) 注册方式二该方法Django1.7的版本新增的功能: from django.contrib import admin from blog.models import Blog #Blog模型的管理器...#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

83410

命令行调试 django 项目中的模块方法

导语 如果在日常开发中有些模块需要在反复运行调试,但是又依赖了django框架的组件,需要启动框架后才能正常执行,放在views里用发起http调用不够简单方便,使用python manage.py shell...get_user_info(id): user = User.objects.filter(id==id).first() pprint.pprint(user) # 如果想要调试上面这个方法...You must either define the environment variable DJANGO_SETTINGS_MODULE or call settings.configure() before...首先,配置文件设置环境变量,例如这里用到的配置文件是settings.pyimport os os.environ['MODULE_DEBUG'] = 'off' # 默认框架启动时初始化为off,.../django_debug.sh apps/example/task.py 这样一来,调试起来是不是简单很多了呢~

4.2K00

一篇文章带你梳理Python Django的正确的学习方法

model是数据持久层,主要存放实体映射、实体关系以及实体的一些方法。template是表示层,主要是用来显示数据,Django的视图引擎可以将其渲染成HTML并显示。...views是业务逻辑层,Django充当着链接model与template的桥梁,处理模型并向template提交数据,同时也接受template的请求和参数,完成相应的逻辑后提交模型修改。...02 模版(Template) 模版Django显示数据的地方,通常为HTML格式,模版Django的处理逻辑要写在{% %},而要显示的变量要写在{{ }}。...03 模型 setting.py 的database的字典配置数据库。配置完成后 使用manage.py startapp来创建appmodels编写python代码描述实体映射。...04 集成的子框架 django.contrib包中有多种附加功能包,目前只了解了admin和auth两种感觉功能很强大,美中不足的是admin的界面略丑。

1.4K60
领券