2012-03-29 6 views

答えて

13

フィールドの最初の10文字を返すコール可能オブジェクトを定義し、それをlist_displayに追加できます。

詳細については、list_displayのDjangoドキュメントを参照してください。

+0

非常に良いアイデア、感謝を –

+0

私は、リストビューの長さを制限したいが、私は管理者のことができるようにしたい場合はどうアイテム詳細ビューのフィールドを編集しますか? –

+1

@CsabaToth 'list_display'に項目を追加しても、項目の詳細ビューには全く影響しません。管理者は以前と同じようにフィールドを編集できるはずです。 – Alasdair

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;'})}, 
}