django-filter的FilterSet在哪里?

5 投票
1 回答
679 浏览
提问于 2025-04-18 09:48

文档上写着

我们有很多字段,想让用户根据价格或发布日期来筛选数据。为此,我们创建了一个过滤器集(FilterSet):

import django_filters

class ProductFilter(django_filters.FilterSet):
    class Meta:
        model = Product
        fields = ['price', 'release_date']

那么,这段代码应该放在哪里才能创建这个过滤器集呢?是在模型(models)里,还是在视图(views)里?谢谢。

1 个回答

8

你可以在任何地方放这个文件,比如 models.py、views.py,或者新建一个叫 filters.py 的文件。因为你会在 views.py 中使用这个过滤器,所以你可以在项目的任何地方导入这些过滤器。对我来说,我觉得在应用里创建一个 filters.py 文件是最合适的地方。

所以在你的 views.py 中,可以这样导入过滤器:

from .filters import ProductFilter

撰写回答