У меня возникла ситуация, мне нужен набор форм с параметрами динамического выбора. предположим, у меня есть 3 модели Книга -> Глава -> Комментарий
# ============ models.py =============
class Book(models.Model):
name = models.CharField(_("Book name"), max_length=50)
class Meta:
verbose_name = _("book")
verbose_name_plural = _("books")
def __str__(self):
return self.name
class Chapter(models.Model):
name = models.CharField(_("Chapter name"), max_length=50)
book = models.ForeignKey(Book, verbose_name=_(""), on_delete=models.CASCADE)
class Meta:
verbose_name = _("chapter")
verbose_name_plural = _("chapters")
def __str__(self):
return self.name
class Comment(models.Model):
comment = models.TextField(_("Chapter comment"))
chapter = models.ForeignKey(Chapter, verbose_name=_("Chapter"), on_delete=models.CASCADE)
class Meta:
verbose_name = _("Comment")
verbose_name_plural = _("Comments")
def __str__(self):
return self.name
# ============ Forms.py =============
class CommentForm(forms.Form):
chapter = forms.ModelChoiceField(Chapter.objects.all()) # <~~~~ Here is the problem
comment = forms.CharField(max_length=50, required=True)
. У меня есть URL страницы '/ book / {id} / comment'. В этом URL пользователи будут комментировать одну или несколько глав, используя formset + jQuery для обработки кнопки addrow. .
Как я могу отфильтровать набор запросов (главы), чтобы он соответствовал главам из книги, которую я выбрал в идентификаторе?