2017-02-22 40 views
0

У меня есть два TextField в моей модели. Но я хочу изменить атрибуты строк и столбцов только TextField. Я знаю с this странице, что вид TextField можно изменить, используя следующий код в admin.py.Как настроить определенный TextField внутри администратора Django не все?

class RulesAdmin(admin.ModelAdmin): 
formfield_overrides = { 
    models.TextField: {'widget': Textarea(
         attrs={'rows': 1, 
           'cols': 40})}, 
} 

... 
admin.site.register(Rules, RulesAdmin) 

Как я уже говорил, используя приведенный выше код изменил внешний вид как TextField, я хочу изменить только один из тех, кто здесь, как моя модель выглядит следующим образом:

class Post(models.Model): 
    title = models.CharField(max_length=200) 
    content = models.TextField() 
    pub_date = models.DateTimeField(auto_now_add=True) 
    update_date = models.DateTimeField(auto_now=True) 
    meta = models.TextField(blank=True) 

    def __str__(self): 
     return self.title 

Я хочу только измените внешний вид поля meta.

Как мне это сделать?

+0

это [ссылка] (https://docs.djangoproject.com/en/dev/ref/contrib /admin/#django.contrib.admin.ModelAdmin.formfield_overrides) поможет вам настроить «TextField». –

ответ

1

Добавьте следующий код forms.py

from django.forms import ModelForm, Textarea 
from .models import Lesson 

class PostModelForm(ModelForm): 

    class Meta: 
     model = Lesson 
     fields = ('__all__') 
     widgets = { 
      'meta': Textarea(attrs={'cols': 80, 'rows': 5}), 
     } 

и admin.py сделать это

class PostModel(admin.ModelAdmin): 
    list_display = ('id', 'title', 'pub_date', 'course',) 
    search_fields = ('title', 'course__alias',) 

    form = PostModelForm 

 Смежные вопросы

  • Нет связанных вопросов^_^