django:从 django 模板调用重写的模型方法

2024-03-13

我已经超越了(被覆盖?) the get_FOO_display()django模型类的方法(参见:doc参考 https://docs.djangoproject.com/en/1.10/ref/models/instances/#django.db.models.Model.get_FOO_display)返回一些不同的选择字段映射。但是,从 django 模板调用此函数时{{ model_object.get_FOO_display }}调用基类方法而不是新的重写方法。

我读了源代码django/db/models/base.py https://github.com/django/django/blob/master/django/db/models/base.py#L969看起来这不是一些常规方法,而是为模型字段动态创建的。(如果我弄错了请告诉我)

有没有办法可以解析模板中覆盖的方法?

请参阅此代码以了解我的问题的本质:

class UserStatus(models.Model):
    invite_status = models.CharField(max_length=15, choices=USER_STATUS, default='new')

    # Overridden method
    def get_invite_status_display(self):
        return dict(USER_STATUS_DISPLAY).get(self.invite_status)

是的,我需要显示与choices字典,不,我首先不能将要显示的内容保留在选择字典中。

让我知道是否有任何可能的方法可以使此模板调用工作。

Thanks.


None

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

django:从 django 模板调用重写的模型方法 的相关文章

随机推荐

  • 比质心更好的“中心点”

    我正在使用多边形的质心在地图应用程序中附加标记 这对于凸多边形来说绝对有效 对于许多凹多边形来说也非常好 但是 某些多边形 香蕉 甜甜圈 显然不会产生所需的结果 在这些情况下 质心位于outside多边形区域 有谁知道更好的方法来找到合适的
  • List 的 Last() 扩展方法的性能如何?

    我很喜欢Last 并会一直使用它List
  • Rstudio 速度慢得令人痛苦

    突然间 Rstudio 慢得令人痛苦 现在无法使用 这意味着 我打开它 如果我输入任何内容 就会有几秒钟的延迟 我已经探索了我能想到的所有选项 1 重新安装 R 和 Rstudio 尽管我不能 100 确定我可以删除所有组件 2 尝试重置设
  • if 语句不起作用?

    我用调试器看了又看 似乎无法弄清楚为什么 IF 语句总是打印消息 IF 语句检查是否 yesno Y or N 但无论我输入 y 或 Y 或 n N 或 H B 它都会显示 我不知道该采取什么行动了 我似乎找不到哪里出了问题 if yesn
  • Neo4j cypher - 导入 CSV 并根据 csv 值添加节点之间的关系

    是否可以在 cypher 中使用导入功能根据 csv 的值在节点之间创建不同的关系 例如 对于给定的 csv 数据 product id user id action 1 1 VIEW 1 2 PURCHASE 我需要创建产品节点 prod
  • 在 MySQL 中插入/更新随机日期

    如何使用 MySQL 更新过去 2 周内随机日期的列 例如 代码实际上不起作用 UPDATE mytable SET col sysdate rand 1 14 您可以使用以下表达式获得一个随机整数 获取随机整数R 范围 i FLOOR i
  • 检查 Oracle 数据库有多少年了?

    因此 我们有一个生产数据库的经过处理的版本的镜像 无论如何 您知道 是否可以查明数据库的年龄 即当数据库放置在 Oracle 服务器上时 谢谢你的帮助 选择从 dba users 创建 其中用户名 SYS 在我的网站上有 16 秒的差异 从
  • 如何在Spark 1.6集群上运行用Spark 2.1组装的Spark应用程序?

    有人告诉我 我可以使用 Spark 的一个版本构建 Spark 应用程序 只要我使用sbt assembly为了构建它 我可以在任何 Spark 集群上使用 Spark Submit 运行它 因此 我使用 Spark 2 1 1 构建了简单
  • 为什么 Base64.decode 为不同的字符串生成相同的字节数组?

    我使用 URL 安全 Base64 编码来对随机生成的字节数组进行编码 但我在解码时遇到问题 当我解码两个不同的字符串 除了最后一个字符之外的所有字符都是相同的 时 它会生成相同的字节数组 例如 对于两者 dGVzdCBzdHJpbmr a
  • C# 3.0 自动属性 ​​- 是否可以添加自定义行为?

    我想知道是否有任何方法可以将自定义行为添加到自动属性获取 设置方法中 我能想到的一个明显的例子是希望每个设置属性方法都可以调用任何PropertyChanged事件处理程序作为System ComponentModel INotifyPro
  • 用户在 Python 中输入后出现“NameError:name ''未定义”[重复]

    这个问题在这里已经有答案了 我完全不明白为什么这不起作用 应该可以精确地工作 对吗 UserName input Please enter your name print Hello Mr UserName raw input
  • 设置限制的 PayloadTooLargeError

    您好 我在 Express js 方面遇到问题 我需要将 base64 文件发送到 node js 我的 configuraizone 如下所示 但是当我发送文件时 出现此错误 PayloadTooLargeError 请求实体太大 我读过
  • 现有命名空间类型的使用声明与创建类型别名

    这不是关于两者之间差异的问题using and typedef用于创建类型别名 我想提供从代码块或函数内的命名空间对现有类型的访问 我发现了两种不同的方法 我可以使用 using 声明 包含 该类型 using typename mynam
  • 如何使用 angular.js 在 DOM 中移动视图?

    如何使用 Angular JS 将元素移动到 DOM 中的不同位置 我有一个像这样的元素列表 ul li div content div li li div content div li li div content div li li d
  • 不带 http://www 的 url 正则表达式 [关闭]

    很难说出这里问的是什么 这个问题是含糊的 模糊的 不完整的 过于宽泛的或修辞性的 无法以目前的形式得到合理的回答 如需帮助澄清此问题以便重新打开 访问帮助中心 help reopen questions 我需要一个 url 正则表达式来验证
  • 同时进行语音转文本和文本转语音

    介绍 我正在开发一个应用程序 我需要在其中使用 Booth SpeechRecognizer 和 TTS 但我在尝试这个时遇到了一些问题 主要的一个问题是 如果我初始化 TTS SpeechRecgonizer 似乎无法工作 而如果我禁用
  • PHP 在 foreach 循环中包含文件

    我这样做可以吗 foreach item as val include external script php 外部脚本大约有 800 行代码 出于组织原因 我希望将其分开 亲切 我想你最好为此使用一个函数 包含文件需要读取 解析和解释该文
  • React 将导入名称作为 prop 传递并添加到图像 src

    我有一个反应组件 它有一个带有包含图像路径的导入名称的道具 在这种情况下 道具值为Ico1 我需要像这样在 img src 中传递 prop 代码如下 import React from react import Ico1 from ico
  • 双精度接受逗号而不是点

    我无法从 bash 终端在程序中输入双精度值 下面是我用来弄清楚为什么会发生这种情况的代码 这是我的测试代码 import java util public class DoubleTest public static void main
  • django:从 django 模板调用重写的模型方法

    我已经超越了 被覆盖 the get FOO display django模型类的方法 参见 doc参考 https docs djangoproject com en 1 10 ref models instances django db