ограничить выбор в раскрывающемся списке подкатегории на основе связанной категории в админке Django
У меня есть три модели как
class Category(models.Model):
name = models.CharField(max_length=128)
class SubCategory(models.Model):
category = models.ForeignKey(Category)
name = models.CharField(max_length = 400)
class Document(models.Model):
category = models.ForeignKey(Category, null=True,blank=True,help_text=_('Required'))
subcategory = models.ForeignKey(SubCategory, null=True, blank=True, help_text =_('Required'))
title = models.CharField(max_length=300)
Теперь в интерфейсе администратора у меня есть категория, подкатегория и поле заголовка. Если пользователь пытается выбрать какую-либо подкатегорию, то должен отображаться только тот элемент подкатегории, который относится к категории. Простой пример - страна, раскрывающийся список состояний. Я пытаюсь получить его от Modelform, как
class DocumentAdminModelForm(ModelForm):
def __init__(self, *args, **kwargs):
super(DocumentAdminModelForm, self).__init__(*args, **kwargs)
self.fields['sub_category'] = forms.ModelChoiceField(queryset = SubCategory.objects.filter(category__id = self.fields['category'] ))
Но это не работает. Должен ли я использовать некоторые AJAX и JQuery для этого или есть другой способ, который вы можете предложить?
Спасибо