четверг, 11 апреля 2013 г.

Горизонтальный фильтр в админке Django для ManyToManyField




Есть модель в файле collection/models.py:
class Collection(models.Model):
    title = models.CharField(max_length=100, verbose_name='Название')
    description = models.TextField(verbose_name='Описание коллекции')
    author = models.ManyToManyField(Author)
    
    def __unicode__(self):
        return self.title
        
    class Meta:
        verbose_name = 'Коллекция'
        verbose_name_plural = 'Коллекции'
Для удобного указания авторов создаваемых коллекций добавляем в админку виджет. Для этого добавляем параметр filter_horizontal в файл collection/admin.py:
from django.contrib import admin
from collection.models import Collection


class CollectionAdmin(admin.ModelAdmin):
    filter_horizontal = ('author',)

admin.site.register(Collection, CollectionAdmin)
Также можно использовать вертикальный фильтр. Для этого нужно использовать параметр filter_vertical:

from django.contrib import admin
from collection.models import Collection


class CollectionAdmin(admin.ModelAdmin):
    filter_vertical = ('author',)

admin.site.register(Collection, CollectionAdmin)

Комментариев нет:

Отправить комментарий