Django admin:查看单个项目时显示计算属性

问题描述 投票:0回答:1

我将压缩字符串存储在数据库中。我想在 Django Admin 中看到实际的字符串。由于字符串很长,我不希望它们出现在列表视图中,而仅在查看单个项目(行)时出现。所以,我可以定义:

@property
def short_my_field(self):
    return pickle.loads(brotli.decompress(self.my_field))[:80]

@property
def original_my_field(self):
    return pickle.loads(brotli.decompress(self.my_field))

然后我会将

short_my_field
放入
list_display
。但如何在查看单个项目时显示
original_my_field

django django-views django-admin
1个回答
0
投票

您可以定义一个

readonly_fields
,如下所示,

class MyModelAdmin(admin.ModelAdmin):
    readonly_fields = ("anything_you_want",)
    fields = ("field_1", "anything_you_want")

    def anything_you_want(self, obj):
        return obj.original_my_field
© www.soinside.com 2019 - 2024. All rights reserved.