Джанго - Администратор: list_display TextField - PullRequest
7 голосов
/ 29 марта 2012

Я пытаюсь отобразить первые 10 символов TextField на list_display.
Возможно ли это в интерфейсе администратора?

Ответы [ 2 ]

13 голосов
/ 29 марта 2012

Вы можете определить вызываемый элемент, который возвращает первые 10 символов поля, и добавить его к list_display.

Подробнее см. В документации Django для list_display.

2 голосов
/ 16 октября 2017
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;'})},
}
...