У нас есть связанные модели в файле collection/models.py:
from django.db import models class Vuz(models.Model): name = models.CharField(max_length=150, verbose_name='Название вуза') name_short = models.CharField(max_length=150, verbose_name='Аббревиатура вуза') vuz_url = models.SlugField(verbose_name='Ярлык для использования в url') def __unicode__(self): return self.name class Meta: verbose_name = 'ВУЗ' verbose_name_plural = 'ВУЗы' class Author(models.Model): fio = models.CharField(max_length=100, verbose_name='Ф.И.О.') about = models.TextField(verbose_name='Об авторе') birthday = models.DateField(verbose_name='Дата рождения') vuz = models.ForeignKey(Vuz, verbose_name='ВУЗ') def __unicode__(self): return self.fioЕсли мы хотим организовать поиск в админке Django для модели Author по полям ФИО и ВУЗ, то нам нужно использовать параметр search_fields в файле collection/admin.py:
from django.contrib import admin from collection.models import Author class AuthorAdmin(admin.ModelAdmin): search_fields = ('fio','vuz__name',) admin.site.register(Author, AuthorAdmin)Обратите внимание, что в модели Author поле vuz связано отношением ManyToMany с моделью Vuz. Поэтому через двойное подчеркивание мы указываем, по какому полю связанной модели мы хотим производить поиск: vuz__name
Комментариев нет:
Отправить комментарий