在 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'
我在 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'