当前位置: 首页 > 面试题库 >

如何在django中覆盖超类模型字段的详细名称

宿嘉庆
2023-03-14
问题内容

假设我有一个继承自SuperFoo的模型Foo:

class SuperFoo(models.Model):
    name = models.CharField('name of SuperFoo instance', max_length=50)
    ...

class Foo(SuperFoo):
    ... # do something that changes verbose_name of name field of SuperFoo

在Foo类中,我想重写SuperFoo的name字段的verbose_name。我可以吗?如果不是,最好的选择是在模型表单定义内设置标签以使其显示在模板中吗?


问题答案:

我使用的一个简单的技巧是:

class SuperFoo(models.Model):
    name = models.CharField('name of SuperFoo instance', max_length=50)
    ...
    class Meta: 
        abstract = True

class Foo(SuperFoo):
    ... # do something that changes verbose_name of name field of SuperFoo
Foo._meta.get_field('name').verbose_name = 'Whatever'


 类似资料:
  • 问题内容: 我建立了一个Django表单,该表单提交到另一个域(我不控制)上的页面。我的想法是,我有一个样式优美,生成得很好的表单,可以很好地适合我自己的网站,并且在提交用户时将用户带到其他地方。 然而, 如果其他表单更改了其任何字段的名称,则我需要更改表单中的字段名称,然后在应用程序中的其他位置更改这些名称-因为attr与用于该属性的属性的名称相关联领域。 如果远程表单使用愚​​蠢的名称,那么我

  • 我正在使用Spring Boot网络流量r2dbc来实现REST应用编程接口服务器。 为模型生成的模式正在复制具有不同定义(名称、限制等)的同一字段。 我的模型: 路由器 为扩展模型生成的OpenAPI模式 我有两个字段:tenant_id和tenantId,但这在模型中是同一个字段。还要注意,tenantId的定义忽略了模式属性(如required和pattern属性)。 我遗漏了一些注释?似乎

  • 问题内容: 在保存模型之前,我需要重新调整图片大小。但是,如何检查是否添加了新图片或仅更新了说明,以便每次保存模型时都可以跳过重新缩放? 我只想在加载新图像或更新图像时重新缩放,而在更新说明时不想要。 问题答案: 一些想法: 不确定是否可以在所有伪自动django工具中正常运行(例如:ModelForm,contrib.admin等)。

  • 问题内容: 我有一些看起来像这样的代码: 并且我想覆盖模型中字段的默认值,使其适用于该模型。 我已经浏览了一些相关的Django文档,并仔细查看了模型对象,但是我很难找到合适的位置进行此操作。有什么建议? 问题答案: 你实际上可以按照以下步骤进行操作: 我已经做了一两次。之所以有效,是因为Message上的字段与BaseMessage上的字段是不同的实例。但是,我怀疑是否建议使用它;-)它在很大程

  • 问题内容: 在保存模型之前,我需要重新调整图片大小。但是,如何检查是否添加了新图片或仅更新了说明,以便每次保存模型时都可以跳过重新缩放? 我只想在加载新图像或更新图像时重新缩放,而在更新说明时不想要。 问题答案: 一些想法: 不确定是否可以在所有伪自动django工具中正常运行(例如:ModelForm,contrib.admin等)。

  • 问题内容: 保存模型之前,我需要重新调整图片大小。但是,如何检查是否添加了新图片或仅更新了说明,以便每次保存模型时都可以跳过重新缩放? 我只想在加载新图像或更新图像时重新缩放,而在描述更新时不想要。 问题答案: 一些想法: 不知道它是否可以在所有伪自动django工具中正常运行(例如:ModelForm,contrib.admin等)。