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

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

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

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

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

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

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

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

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

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

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

相关·内容

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

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

    2.8K40

    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 模型中自定义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.8K20

    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.2K00

    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.8K10

    在命令行中调试 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.4K00

    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:表示在模型的添加或修改页面嵌入关联模型的添加或修改

    47930

    django后台管理-admin

    0922自我总结 django后台管理-admin 一.模型注册 admin.py 注册方式一: #在对于注册的app中的admin文件中导入模型然后注册模型 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

    88610

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

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

    1.5K60

    Django 3.1 官网学习路线

    因为轮询是在它们自己的 URLconf (polls/urls.py)中,它们可以被放在“/polls/”下,或“/fun_polls/”下,或“/content/polls/”下,或任何其他路径根目录下...让我们通过编辑问题模型(在 polls/models.py 文件中)并在问题和选择中添加其他的__str__()方法来解决这个 Question 和 Choice from django.db import...不同的模型字段类型(DateTimeField、CharField)对应于适当的 HTML 输入小部件。每种类型的字段都知道如何在 Django 管理中显示自己。...在 Django 中,Web 页面和其他内容是通过视图传递的。每个视图都由一个 Python 函数(或方法,对于基于类的视图)表示。...在 QuestionAdmin 类里面添加以下代码: list_filter = ['pub_date'] 这会添加一个“过滤器”侧边栏,可以通过 pub_date 字段过滤更改列表: 显示的过滤器类型取决于您要过滤的字段类型

    8.2K10

    37.Django1.11.6文档

    指定自定义模板标签和过滤器的最常见的地方在Django应用程序中。...例如,在{{ var|foo:"bar" }}中,foo过滤器应当传入变量var和参数 "bar"。 由于模板语言没有提供异常处理,任何从过滤器中抛出的异常都将会显示为服务器错误。...列表过滤器通常仅在过滤器有多个选择时才会出现。 过滤器的has_output()方法控制是否显示。...只读字段不仅可以显示模型字段中的数据,还可以显示模型方法的输出或ModelAdmin类本身的方法。 这与ModelAdmin.list_display的行为非常相似。 ...根据您的ModelAdmin定义,模型中的每个多对多字段将由标准HTML < select multiple> t4>,水平或垂直过滤器或raw_id_admin小部件。

    24.4K80
    领券