gpt4 book ai didi

django - 将帮助文本添加到 django 管理 View 中的只读字段

转载 作者:行者123 更新时间:2023-12-02 17:29:07 25 4
gpt4 key购买 nike

下面是我的管理 View :

@admin.register(AuditStashAwsMasterPolicies)
class AuditPoliciesAdmin(reversion.VersionAdmin):
exclude = ['source_policy_path', 'source_state', 'target_state']
readonly_fields = ['comparison_date', 'source', 'source_policy_name', 'target', 'target_policy_name',
'target_policy_path', 'policy_difference']

def policy_difference(self, instance):
return drift.compare_two_policies(instance.source, instance.source_policy_name, instance.source_policy_path,
instance.target, instance.target_policy_name, instance.target_policy_path)

我想要做的是将一些帮助文本添加到我的“policy_difference”只读字段中。从帮助文档中,我只能通过修改模型并使用帮助文本创建只读字段来做到这一点。

问题是我没有在“policy_difference”字段中存储任何值,我只是动态生成它,并且希望避免将其存储在模型中。

有没有办法在不更改模型 AuditStashAwsMasterPolicies 的情况下将文本添加到“policy_difference”只读字段?

最佳答案

您可以通过覆盖get_form来实现它方法如下:

def get_form(self, request, obj=None, **kwargs):
help_texts = {'policy_difference': 'Help text explaining policy difference'}
kwargs.update({'help_texts': help_texts})
return super(AuditPoliciesAdmin, self).get_form(request, obj, **kwargs)

help_texts 关键字最终被传递到 modelform_factory方法并呈现为 Django 管理中模型的标准帮助文本。

如果您使用 InlineModelAdmin,则需要覆盖 get_formset以同样的方式。

关于django - 将帮助文本添加到 django 管理 View 中的只读字段,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40878081/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com