3

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

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]: http://i.imgur.com/ZyKmpoF.png '

如您所见,“笔记”可能会占用大量空间,那么有没有一种方法可以通过单击按钮来查看/隐藏该字段?

4

1 回答 1

0

您可以调整该字段的大小以使其变小,而不是做一个按钮。

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)

如果你真的想要另一个按钮,你可以使用你的自定义 Inline 类来定义字段:

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))

在您的自定义管理类中,请改用这个内联类:

class PurchaseAdmin(admin.ModelAdmin):
    inlines = [CustomInline]
于 2013-07-31T19:45:01.210 回答