Django - 管理:list_display TextField
答
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;'})},
}
非常好的主意,谢谢 – 2012-03-29 09:34:24
如果我想限制列表视图中的长度,但我希望管理员能够什么编辑项目详细视图上的字段? – 2016-04-06 06:11:23
@CsabaToth将项目添加到'list_display'根本不会影响项目详细视图。管理员仍然可以像以前一样编辑该字段。 – Alasdair 2016-04-06 09:22:42