2012-03-29 222 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;'})}, 
} 
相關問題