首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >问答首页 >向ModelAdmin窗体添加额外字段

向ModelAdmin窗体添加额外字段
EN

Stack Overflow用户
提问于 2018-04-30 08:51:57
回答 1查看 2.9K关注 0票数 5

因此,我有一个需要添加额外字段的ModelAdmin。模型上不存在这些字段,但是将通过ModelForm init方法动态地将这些字段添加到自定义中,并且clean中的逻辑将在保存时处理返回的数据。

我似乎找不到任何关于向ModelAdmin表单中添加自定义非模型字段的可靠信息。我最接近的方法是重写ModelAdmin类上的ModelAdmin,并使用我想添加的新字段更新self.form.declared_fields。

这对我来说不是很干净,我很好奇是否有更好的方法来动态地向ModelAdmin添加新的字段?

EN

回答 1

Stack Overflow用户

发布于 2021-06-23 13:11:56

您还可以使用这种方式添加不在models.py中的字段。

in admin.py:

代码语言:javascript
代码运行次数:0
运行
复制
from django.utils.translation import gettext as _

class TrialAdmin(admin.ModelAdmin):
    fields = (..., 'non_model_field',...,)

    def non_model_field(self, instance):
    # this method name should be same as new field name defied above in fields.
        # [what u need to do here]

    non_model_field.short_description = _("non_model_field")
    #This value 'short_description' defines what the field name is shown as in admin similar to 'verbose_name' in models.

admin.site.register(..., TrialAdmin)
票数 -1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/50097034

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档