Python 在Django上显示/隐藏字段的方法

Python 在Django上显示/隐藏字段的方法,python,django,Python,Django,我在Django admin中将此作为我的列表显示 list_display = ('product', 'price', 'purchase_date', 'confirmed', 'get_po_number', 'notes') 在models.py中: class PurchaseOrder(models.Model): notes = models.TextField( null=True, blank= True) 这就是它在这里的样子: [1] :' 正如您所看到的,

我在Django admin中将此作为我的列表显示

list_display = ('product', 'price', 'purchase_date', 'confirmed', 'get_po_number', 'notes')
在models.py中:

class PurchaseOrder(models.Model):
     notes = models.TextField( null=True, blank= True)
这就是它在这里的样子:

[1] :'


正如您所看到的,“注释”可能会占用大量空间,因此,有没有一种方法可以通过单击按钮查看/隐藏该字段?

您可以调整字段大小,使其变小,而无需执行按钮

class PurchaseAdmin(admin.ModelAdmin):
formfield_overrides = {
    models.CharField: {'widget': TextInput(attrs={'size':'20'})},
    models.TextField: {'widget': Textarea(attrs={'rows':4, 'cols':40})},
}

admin.site.register(PurchaseOrder, PurchaseAdmin)
如果您确实希望有另一个按钮,可以使用自定义内联类定义字段:

class CustomInline(admin.TabularInline):
    readonly_fields = [...'link',...]

    # important part which define what "link" looks like
    def link(self, instance):
       url = # your link to display the note
       return mark_safe(u'<a href="{u}">View Note</a>".format(u=url))

或者,您可以在
list\u display
中将特定宽度设置为
notes
,检查我是否欣赏注释,但是否有一种显示/隐藏字段的简单方法?是的-覆盖模板,并添加JQuery以切换特定列的隐藏。甚至不需要覆盖模板。应该有办法。
class PurchaseAdmin(admin.ModelAdmin):
    inlines = [CustomInline]