【发布时间】:2020-01-10 15:51:20
【问题描述】:
我正在使用 DRF 构建一个 REST API。我正在使用 django_filters 过滤结果集。在一个api中,我希望用户发送他的坐标(纬度,经度),并在后端创建一个范围为(纬度+2到纬度-2)并返回结果,我不想从用户那里获取范围字段。所以我可以在后端轻松更改范围。
我在过滤器类中创建了两个范围过滤器,它们工作正常,但 url 看起来像这样:/posts/?latitude_min=22&latitude_max=28&longitude_min=80&longitude_max=84。在这里用户负责决定范围。我希望用户只发送纬度和经度,我决定最大和最小范围。
class PostFilter(django_filters.FilterSet):
latitude = django_filters.RangeFilter(field_name='latitude')
longitude = django_filters.RangeFilter()
class Meta:
model = Post
fields = ['latitude', 'longitude', 'country', 'state', 'district', ]
【问题讨论】:
标签: python django django-rest-framework django-filter