Как отфильтровать выбранные параметры на основе динамического набора запросов - PullRequest
0 голосов
/ 08 ноября 2019

У меня возникла ситуация, мне нужен набор форм с параметрами динамического выбора. предположим, у меня есть 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. .

Как я могу отфильтровать набор запросов (главы), чтобы он соответствовал главам из книги, которую я выбрал в идентификаторе?

...