Как отфильтровать набор запросов для поля с иностранными ключами в Django Admin - PullRequest
0 голосов
/ 13 сентября 2018

У меня есть такой сценарий, у меня есть 3 модели: Категория, Подкатегория и Сообщения.

-Категория - От одного ко многим до Подкатегории и Подкатегория - от одного ко многим для сообщений.

Мой models.py выглядит следующим образом (уменьшенная версия).

class Category(models.Model):
    cat=models.CharField(max_length=10)

class SubCategory(models.Model):
    subcat=models.CharField(max_length=10)

class Posts(models.Model):
    cat=models.ForeignKey(Category) 
    subcat=models.ForeignKey(SubCategory) 
    title=models.CharField(max_length=10)

Я хочу опубликовать сообщение от администратора, в котором я хочу только набор запросов подкатегорий на основе выбранного раскрывающегося списка из категории,Например, если я выберу Django из выпадающего списка в разделе «Добавить сообщения» в админке, он должен давать только те подкатегории, которые были связаны с Django (или что-то еще, что я выбрал из выпадающего списка).

Я много пробовал искать илучшее, что я мог найти, это render_change_form .Но проблема с render_change_form заключается в том, что для фильтрации требуются условия, которых у меня нет, поскольку я хочу категорию из самой формы (на основе выпадающего списка).

Я не совсем уверен, возможно ли это даже в django.

1 Ответ

0 голосов
/ 18 сентября 2018

Вы должны написать свой собственный JavaScript.Поэтому, когда категория выбрана, выпадающий список подкатегорий будет заполняться на основе некоторого хита ajax.

Вы также можете взглянуть на django autocomplete light.

Я использовал егомного раз в моем проекте.Ваше требование может быть достигнуто с помощью прямого аргумента (отправить категорию в подкатегорию.)

Надеюсь, это поможет.

...