【问题标题】:Creating Custom Display Fields in Django Admin (that don't exist in models.py)在 Django Admin 中创建自定义显示字段(models.py 中不存在)
【发布时间】:2020-04-30 17:02:36
【问题描述】:

我在models.py 中有两个字段

numberOfUsers = IntegerField()
numberOfUserCredits = IntegerField()

在 Django admin 中,而不是使用

查看两列

list_display = ['numberOfUsers', 'numberOfUserCredits']

我想稍微清理一下并将这两个字段连接起来以便于查看:

str(numberOfUsers) + '/' + str(numberOfUserCredits)

如何在 Django admin 中创建这样的自定义字段?我可以在models.py 中创建一个新字段,在模型保存时自动创建此字段,但我想知道是否有更简单的方法来执行此操作。


我发现similar question 已经问过了,但下面的答案正是我想要的。

【问题讨论】:

    标签: django django-admin


    【解决方案1】:

    您可以将其添加到您的 ModelAdmin 类中,如下所示,我也建议使用 f strings 而不是串联

    class SomeAdmin(admin.ModelAdmin):
        list_display = (..., 'user_field')
    
        def user_field(self, obj):
            return f'{obj.numberOfUsers}/{obj.numberOfUserCredits}'
        user_field.short_description = 'userShort'
    

    【讨论】:

    • 这正是我想要的。谢谢!
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-08-29
    • 2022-10-05
    • 1970-01-01
    • 2018-06-17
    • 2021-04-28
    • 2015-02-16
    相关资源
    最近更新 更多