Django - 管理员:list_display TextField

时间:2012-03-29 09:09:52

标签: django django-admin

我正在尝试在TextField上显示list_display的前10个字符 是否可以在管理界面中使用?

2 个答案:

答案 0 :(得分:13)

您可以定义一个返回字段前10个字符的callable,并将其添加到list_display

更多信息请参阅list_display的Django文档。

答案 1 :(得分:2)

myapp/admin.py
from django.contrib import admin
from django.utils.text import Truncator
from django.db import models
from .models import Product

def truncated_name(obj):
    name = "%s" % obj.name
    return Truncator(name).chars(70)

class ProductAdmin(admin.ModelAdmin):

    list_display = ['id',  truncated_name, 'category', 'timestamp',]
    list_display_links = [truncated_name]
    list_filter = ['category']

    class Meta:
        model = Product

你也可以覆盖这样的字段:

    formfield_overrides = {
        models.CharField: {'widget': TextInput(attrs={'size': '20'})},
        models.TextField: {'widget': Textarea(attrs={'rows': 1, 'cols': 40, 'style': 'height: 1.5em;'})},
}