2012-03-29 224 views

回答

13

您可以定义一个可调用的函数,返回该字段的前10个字符,并将其添加到list_display

更多信息请参阅Django文档list_display

+0

非常好的主意,谢谢 – 2012-03-29 09:34:24

+0

如果我想限制列表视图中的长度,但我希望管理员能够什么编辑项目详细视图上的字段? – 2016-04-06 06:11:23

+1

@CsabaToth将项目添加到'list_display'根本不会影响项目详细视图。管理员仍然可以像以前一样编辑该字段。 – Alasdair 2016-04-06 09:22:42

0
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;'})}, 
} 
相关问题