我将压缩字符串存储在数据库中。我想在 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
?
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