Я работаю над проектом блога.Я хочу установить первичные и вторичные категории для сообщений.Например,
основная категория: музыка, кино, компьютер и второстепенные категории для каждой основной категории, такие как: музыка - танцы, рок, кантри / кино - сценарий, тизер, обзор / компьютер - оборудование, программное обеспечение /
И когда я создаю новую запись, я хочу ограничить выбор вторичной категории в соответствии с выбранной первичной категорией.(если быть точным, во-первых, я хочу, чтобы во всплывающих меню отображались как первичные, так и вторичные категории, и, во-вторых, после выбора основной категории я хочу, чтобы только выбор вторичной категории относился к основной категории Iвыбрано для отображения в раскрывающемся меню для вторичной категории.)
В настоящее время мои models.py:
class PrimaryCategory(models.Model):
title = models.CharField('Primary Category', max_length=50)
class SecondaryCategory(models.Model):
title = models.CharField('Secondary Category', max_length=50)
primary = models.ForeignKey(PrimaryCategory,on_delete=models.CASCADE)
class Post(models.Model):
title = models.CharField(max_length=256)
content = models.TextField()
create_date = models.DateTimeField(auto_now_add=True)
author = models.ForeignKey(User, null=True, on_delete=models.CASCADE)
primary_category = models.ForeignKey(PrimaryCategory, on_delete=models.CASCADE, null=True)
secondary_category = models.ForeignKey(SecondaryCategory, on_delete=models.CASCADE, null=True)
, и я произвел поиск, и, возможно, я могу использовать ForeignKey.limit_choices_to в моих модельных формах, ноЯ застрял здесь.Может ли кто-нибудь любезно помочь в написании моего forms.py?
В настоящее время у меня есть только такие формы:показать выбор категории в выпадающем меню вместо ввода свободного текста?
как динамически ограничить выбор вторичной категории в соответствии с выбором основной категории в форме?
(добавлено) 3. У меня нет практических знаний о javascript, поэтому я хочу сделать это без JS, если это возможно .. Если невозможно динамически изменить выбор, то возможно ли сделать форму для предоставлениямне сообщение об ошибке, если выбор второй категории, который я сделал, не соответствует выбранной основной категории?Я думаю, что буду работать над этим, но любой совет будет очень полезен.
Я был бы признателен за любую помощь.Спасибо.