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

如何在Django Admin中计算外键字段并显示在列表中

在Django Admin中计算外键字段并显示在列表中,可以通过自定义方法和属性来实现。

首先,需要在相关的模型中定义一个方法或属性来计算外键字段的值。假设我们有两个模型,一个是主模型A,另一个是外键模型B,我们想要在A的Django Admin列表中显示B的某个字段的计算结果。

  1. 在外键模型B中定义一个方法或属性,用于计算需要显示的字段的值。例如,我们可以在B模型中定义一个方法calculate_field()来计算需要显示的字段的值。
代码语言:txt
复制
class B(models.Model):
    # 定义外键字段和其他字段
    ...

    def calculate_field(self):
        # 计算需要显示的字段的值
        return ...
  1. 在主模型A的Django Admin类中,使用list_display属性来指定需要显示的字段。在这个属性中,可以使用外键字段的名称和点语法来访问外键模型B的计算字段。
代码语言:txt
复制
from django.contrib import admin
from .models import A

class AAdmin(admin.ModelAdmin):
    list_display = ('id', 'b__calculate_field', ...)  # 使用外键字段的名称和点语法来访问外键模型B的计算字段

admin.site.register(A, AAdmin)

在上述代码中,b__calculate_field表示访问外键字段b所关联的模型B的calculate_field方法或属性。

这样,当在A的Django Admin列表中查看数据时,会自动调用B模型的calculate_field方法或属性来计算外键字段的值,并显示在列表中。

推荐的腾讯云相关产品:腾讯云云服务器(CVM)、腾讯云数据库MySQL版、腾讯云对象存储(COS)。

腾讯云产品介绍链接地址:

  • 腾讯云云服务器(CVM):https://cloud.tencent.com/product/cvm
  • 腾讯云数据库MySQL版:https://cloud.tencent.com/product/cdb_mysql
  • 腾讯云对象存储(COS):https://cloud.tencent.com/product/cos
页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

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

页面上显示字段,若不设置则显示 models.py __unicode__(self) 中所返回的值 list_display_links = ('category') # 设置页面上哪个字段可单击进入详细页面..., CategoryAdmin) [ 说明 ] 使用 Django admin 系统的搜索时可能会出现“related Field has invalid lookup: icontains”错误,...不应该只是一个model,而该是另一个表的明确的一个字段。 所以我们需要指定特定的字段 “本表字段__所在表需查询字段”。...补充知识:Django的model中使用,但在页面上显示的是xxx_object?...admin配置搜索域是一个时的处理方法就是小编分享给大家的全部内容了,希望能给大家一个参考。

3.8K20

django 模型计算字段实例

verbose_name='姓') given_name = models.CharField(max_length=20, verbose_name='名') def name(self): # 计算字段显示修改页面只能定义只读字段..., 没有这个,字段标题将显示'name' readonly_fields = ('name',) admin.site.register(Person, PersonAdmin) 补充知识:django...如何在 search_fields 包含字段 search_fields中加入一个的名字是不能查询的,要写成(键名__字段名)的形式. search_fields = ('attributename...','goodsclass__cn') # goodsclass__cn 就可以搜索的名字中有搜索词的条目了, # 比如搜索手机的分辨率,而不是电脑的分辨率,就可以搜索'手机 分辨率' 以上这篇django...模型计算字段实例就是小编分享给大家的全部内容了,希望能给大家一个参考。

4.4K20
  • Django 3.1 官网学习路线

    字段还可以有各种可选参数;本例,我们将投票的默认值设置为 0。 最后,请注意使用定义了关系。这告诉 Django 每个选择都与一个问题相关。...按照惯例,Django 会将"_id"附加到外字段名。(是的,你也可以重写这个。) 关系是通过约束来显式的。...不要担心可延期的部分;它告诉 PostgreSQL 事务结束之前不要强制执行。...不同的模型字段类型(DateTimeField、CharField)对应于适当的 HTML 输入小部件。每种类型的字段都知道如何在 Django 管理显示自己。...“添加选择”表单如下所示: 该表单,“Question”字段是一个选择框,包含数据库的每个问题。Django 知道一个应该在管理中表示为一个框。我们的例子,目前只存在一个问题。

    8.2K10

    35.Django2.0文档

    (1)自定义列表  默认情况下,Author下面只显示每个作者的姓名 ? 我们可以在这基础上改进,添加其它字段,从而改变列表显示。...filter_horizontal和filter_vertical选项只能用在多对多字段上, 而不能用于ForeignKey字段。 默认地,管理工具使用`` 下拉框`` 来展现`` `` 字段。...但是,正如`` 多对多字段`` 那样,有时候你不想忍受因装载显示这些选项而产生的大量开销。...例如,我们的book数据库膨胀到拥有数千条publishers的记录,以致于book的添加页面装载时间较久,因为它必须把每一个publisher都装载显示`` 下拉框`` 。...它是一个包含字段名称的元组,它包含的字段将被展现成`` 文本框`` ,而不再是`` 下拉框`` 。

    11.3K100

    Django admin 一些有用的设置

    import Blog    #Blog模型的管理器 @admin.register(Blog) class BlogAdmin(admin.ModelAdmin):     #listdisplay设置要显示列表字段...设置显示字段      fk_fields = ('machine_room_id',) 此处比较简单,自己尝试一下即可。...一般ManyToManyField多对多字段用过滤器;标题等文本字段用搜索框;日期时间用分层筛选。 过滤器如果是需要遵循这样的语法:本表字段__表要显示字段。...9.自定义列表字段 上面的一对多和多对多可以数据编辑显示,但在列表没有显示。有时还需要显示一些其他东西。例如两个字段相乘计算结果等等。这些都可以通过自定义列表字段处理和显示。...模型中有tags字段,但admin列表显示不能直接用该字段,也显示不出来。

    2.6K70

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

    类可以控制不同模型Admin界面的展示方式,主要包括列表页的展示方式、添加修改页的展示方式 上文中展示了TestAdmin类的一种注册方法,还有一种方法,就是使用装饰器注册,如下: 123 @admin.register... = 'unknown' 以上通过指定方法属性来控制显示是新老版本通用的,Django3.2可以通过给装饰器传参来解决:   model.py: 1234567891011121314151617...过滤器 用 list_filter 来激活管理更改列表页面右侧侧栏的过滤器,如下截图所示: list_filter 应是一个列表或元组,参数字段可以是模型字段,包括字段(注意list_display...是不能直接接收字段的),会将对应字段的值列出来,一般用于快速过滤有重复值的字段。...,返回所有包含这些词的对象,不区分大小写(即 icontains 查找:不区分大小写的包含匹配),其中每个词必须在 search_fields 至少有一个。

    1.3K30

    关于“Python”的核心知识点整理大全59

    下面来修改模型Topic,在其中添加一个关联到用户的。这样做后,我们必须对数据库 进行迁移。最后,我们必须对有些视图进行修改,使其只显示与当前登录的用户相关联的数据。 1....的模型User,然后Topic添加了字段owner,它建 立到模型User的关系。...输出列出了三个用户:ll_admin、eric和willie。 3处,我们遍历用户列表打印每位用户的用户名和ID。...2处的输出Django指出我们试图给既有 模型Topic添加一个必不可少(不可为空)的字段,而该字段没有默认值。...接下来,Django使用这个值来迁移数据库,生成 了迁移文件0003_topic_owner.py,它在模型Topic添加字段owner。 现在可以执行迁移了。

    13710

    Django 1.10文文档-第一个应用Part7-自定义管理站点

    在这个表单,Question字段是一个select选择框,包含了当前数据库中所有的Question实例。Djangoadmin站点中,自动地将所有的关系展示为一个select框。...我们的例子,目前只有一个question对象存在。 请注意图中的绿色加号,它连接到Question模型。每一个包含关系的对象都会有这个绿色加号。...填入相关信息点击保存后,Django自动将该Question保存在数据库,并作为当前Choice的关联对象。通俗讲就是,新建一个Question并作为当前Choice的。...如果我们想要同时显示一些别的内容,可以使用list_display属性,它是一个由多个字段组成的元组,其中的每一个字段都会按顺序显示页面上,代码如下: # polls/admin.py class...QuestionAdmin添加下面的代码: list_filter = ['pub_date'] 它添加了一个“过滤器”侧边栏,这样就可以通过pubdate字段来过滤显示question: ?

    3.6K60

    使用Django实现把两个模型类的数据聚合在一起

    Django想要把模型类聚合得到想要的数据可以用F对象。 比如有模型类A和B,A和B之间有关联在一起,A是子表,B是父表(反过来没试过。。...Admin页面显示父表,编辑子表 默认情况下,ModelAdmin只允许您管理模型“本身”字段,而不是相关模型.以下方法将实现,应用类的列表管理显示页面,显示父表的字段;在编辑页面,父表对子表进行编辑...应用类的列表管理显示页面,显示父表的字段 可以让Students,显示父表Grades的父表Level字段 models.py里的Students类里,写上如下代码: class Students(...models.Model): # 写一个方法,定义管理页面上能够显示字段字段 # grade为Students模型的检表,level为Grades模型的检表,那么为Level模型的字段...添加的是'模型类字段' # 如果是需要遵循这样的语法:本表字段__(双下划线)检表字段检表的字段__最终表要显示字段

    1.4K20

    Django admin管理工具的使用、定制及源码解析

    的定制 admin.py只需要讲Mode的某个类注册,即可在Admin实现增删改查的功能,admin.site.register(models.UserInfo) 但是,这种方式比较简单,...BlogAdmin(admin.ModelAdmin): #listdisplay设置要显示列表字段(id字段Django模型的默认主键) list_display...#fk_fields 设置显示字段 fk_fields = ('machine_room_id',) 此处比较简单,自己尝试一下即可。...一般ManyToManyField多对多字段用过滤器;标题等文本字段用搜索框;日期时间用分层筛选。 过滤器如果是需要遵循这样的语法:本表字段__表要显示字段。...9.自定义列表字段 DataPaperStore模型中有 end_date 字段,如果当前时间大于end_date 是我们想显示一个“已过期”,但admin列表显示不能直接用该字段,也显示不出来。

    4K40

    DjangoORM操作

    ,其主要目的是为了封装底层SQL语句; 1、字符串类(以下都是在数据库本质都是字符串数据类型,此类字段只是Django自带的admin中生效) name=models.CharField(max_length...1、无需连表查询性能低,省硬盘空间(选项不固定时用) 2、modle文件里不能动态增加(选项一成不变用Django的choice) 其他字段 db_index = True 表示设置索引 unique..., Foreign_Key字段在哪张表就可以哪张表使用Foreign_Key字段连表,反之没有Foreign_Key字段就使用与其关联的 小写表名; 1对多:对象..关联表字段,values(字段...表的1条记录也对应A表N条记录,两表之间就是双向1对多关系,也称为多对多关系; orm设置如果 A表设置了字段user=models.ForeignKey('UserType') 到B表(注意外表名加引号...点到天荒地老 所以可以通过obj..B表的列表跨表操作(注意!!

    4.8K10

    Django | 开发】面试招聘信息网站(快速搭建核心需求)

    setting简单配置等)✨ 文章目录 一、创建职位管理后台 1.1 定义用户模型 1.2 admin优化管理 1.3 效果 二、匿名用户可查看职位列表和职位详情 三、产品背景迭代思维 3.1...,后面修改和数据迁移操作会麻烦的多) jobs.models.py应用创建如下模型: from datetime import datetime from django.contrib.auth.models...(admin完成实现 创建interview应用,model.py创建模型 这里为了快速搭建核心需求,忽略了一个问题,由于一面面试官二面面试官和HR信息都直接放在了一个表里,所以这里一面二面...hr面试官的foreignkey对于得是用户,而用户处理面试官们还包括了普通用户,所以会出现在下拉选项出现可以选择应聘者得选项bug,这个读者们可以加多一个额外应聘者信息模型,对应面试官 from...遇到其他类型指定转换值) def __str__(self): return self.user_name admin.py from django.contrib import

    77920

    马哥金牌分享 | 十分钟学会用Django快速搭建一个blog

    但是Django,控制器接受用户输入的部分由框架自行处理,所以Django 里更关注的是模型(Model)、模板(Template)和视图(Views),称为MTV模式。...视图(View)表现层 处理与表相关的决定: 如何在页面或其他类型文档中进行显示。 模板(Template),业务逻辑层 存取模型及调取恰当模板的相关逻辑。模型与模板的桥梁。...表之间是否需要进行关联?...2.配置admin.py之前,需要先了解一下admin的用法 需要继承admin.ModelAdmin list_display:admin 后台显示字段 search_fields:admin 后台查询的字段...fields:允许修改的字段 actions: 禁用的操作 admin.site.register: 关联model和admin 3.2 编写admin 4.djangod的视图 4.1 Django

    2.4K51

    后端框架学习-Django

    verbose_name:设置此字段admin界面上的显示名称,可以中文化admin界面 好习惯:字段选项【添加或更改】均要执行 模型类-Meta内部类 使用Meta类来给**模型(其实就是表的属性)...一对一映射 创建一对一: 语法:OneToOneField(类名, on_delete=xxx(级联删除:存在的前提下的删除规则)) on_delete: models.CASCADE:级联删除...)) wife = Wife.objects.create(name=’王夫人’,author_id = 1(类属性字段绑值)) 一对一查询 正向查询:从查对象 反向查询:从对象查 调用反向属性查询到关联的一方...一对多查询 核心:正向属性(authors)和反向属性(book_set) 多表上设置,关联一表。...无的模型类,和之前相同 有的模型类: 类似上面 wife = Wife.objects.create(name=’王夫人’,author = author1(类属性名称绑实例)

    9.5K40
    领券