2

法的決定を保存する Web アプリケーションで django-taggit と django-filter の両方を使用しています。私のメイン ビュー (以下) はストックから継承されてdjango-filter FilterViewおり、法令と法令の一部の両方で決定をフィルター処理することができます。

class DecisionListView(FilterView):
    context_object_name = "decision_list"
    filterset_class = DecisionFilter
    queryset = Decision.objects.select_related().all()

    def get_context_data(self, **kwargs):
        # Call the base implementation to get a context
        context = super(DecisionListView, self).get_context_data(**kwargs)
        # Add in querysets for all the statutes
        context['statutes'] = Statute.objects.select_related().all()
        context['tags'] = Decision.tags.most_common().distinct()
        return context

また、決定が追加されたときにトピックごとにタグを付けます。人々がそれをフィルタリングできるようにしたいと思います。私は現在、次のものを持っていますmodels.py

class Decision(models.Model):
    citation = models.CharField(max_length = 100)
    decision_making_body = models.ForeignKey(DecisionMakingBody)
    statute = models.ForeignKey(Statute)
    paragraph = models.ForeignKey(Paragraph)
    ...
    tags = TaggableManager()


class DecisionFilter(django_filters.FilterSet):
    class Meta:
        model = Decision
        fields = ['statute', 'paragraph']

fieldsのリストに「タグ」を追加しようとしましDecisionFilterたが、効果がありませんでした。おそらく、TuggableManager がデータベースのフィールドではなくマネージャーであるためです。これをカバーするどちらのアプリのドキュメントにも何も見つかりませんでした。taggit タグでフィルタリングすることはできますか?

4

1 に答える 1