在 Django Admin 中创建自定义显示字段(models.py 中不存在)

Creating Custom Display Fields in Django Admin (that don't exist in models.py)

我在 models.py

中有两个字段
numberOfUsers = IntegerField()
numberOfUserCredits = IntegerField()

在 Django 管理中,而不是使用

查看两列

list_display = ['numberOfUsers', 'numberOfUserCredits']

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

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

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


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

您可以将它添加到您的 ModelAdmin class 中,如下所示,我也建议使用 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'