Администратор Django – использование автозаполнения и фильтрации полей выбора (не ManyToMany или ForeignKey)Python

Программы на Python
Ответить Пред. темаСлед. тема
Anonymous
 Администратор Django – использование автозаполнения и фильтрации полей выбора (не ManyToMany или ForeignKey)

Сообщение Anonymous »

Это моя модель:

Код: Выделить всё

class Academic(models.Model):

SCHOOL_COLLEGE_SERVICE = [
('School Of Humanities', 'School Of Humanities'),
('School Of Culture & Creative Arts', 'School Of Culture & Creative Arts'),
('School Of Modern Languages & Cultures', 'School Of Modern Languages & Cultures'),
('School Of Critical Studies', 'School Of Critical Studies'),
('Arts  College Of Arts Administration', 'Arts  College Of Arts Administration'),
]

school = models.CharField(choices=SCHOOL_COLLEGE_SERVICE, max_length=50, blank=True, null=True)
Мне хотелось бы иметь хорошее автозаполнение/фильтр в интерфейсе администрирования Django. К сожалению, похоже, что автозаполнение невозможно, если набор данных не получен из отношений ManyToMany или ForeignKey. Вот что я пробовал:

Код: Выделить всё

from django.contrib import admin
from .models import Academic, Partner, Project
from admin_auto_filters.filters import AutocompleteFilter
import django_filters

@admin.register(Academic)
class AcademicAdmin(admin.ModelAdmin):
search_fields = ['surname', 'forename']
#school = django_filters.ChoiceFilter(choices=Academic.SCHOOL_COLLEGE_SERVICE)
#autocomplete_fields = ['school']
Я знаю, что также могу задать такой набор запросов:

Код: Выделить всё

class SchoolFilter(django_filters.FilterSet):
class Meta:
model = Academic
fields = ['school',]
Но Django по-прежнему жалуется, что значение «autocomplete_fields[0]» должно быть внешним ключом или полем «многие-ко-многим». Как я могу добиться того, чего хочу? ?

Подробнее здесь: https://stackoverflow.com/questions/696 ... nytomany-o
Реклама
Ответить Пред. темаСлед. тема

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение

Вернуться в «Python»