Djangoの残りの枠組みの中でフィルタをページ付けする方法:は、次のように私は現在、APIのビューを設定している
class WeatherObservationSerializer(serializers.ModelSerializer):
dew_point = serializers.Field(source='dew_point')
wind_gust = serializers.Field(source='get_wind_gust')
class Meta:
model = WeatherObservation
fields = ('id', 'station', 'temperature', 'pressure', 'humidity',
'wind_direction', 'wind_speed', 'rainfall', 'date',
'dew_point', 'wind_gust')
class WeatherObservationList(generics.ListCreateAPIView):
model = WeatherObservation
serializer_class = WeatherObservationSerializer
permission_classes = (permissions.IsAuthenticatedOrReadOnly,)
def get_queryset(self):
queryset = WeatherObservation.objects.all()
min_date = self.request.QUERY_PARAMS.get('min_date', None)
station = self.request.QUERY_PARAMS.get('station', None)
if min_date is not None:
queryset = queryset.filter(date__gte=min_date)
if station is not None:
queryset = queryset.filter(station=station)
return queryset
マイsettings.py
は含まれています REST_FRAMEWORK = { 'PAGINATE_BY':50、 'PAGINATE_BY_PARAMを': 'ページの」 }
私のようなAPIにリクエストを作るので、:/ API /天気/観測/駅= 2 &ページ= 2 & MIN_DATE = 2013年3月14日私は戻って二つの結果を得ます?。 3ページ目の場合は3、その他の場合は3の結果となります。この問題を引き起こしている間違ったことは何ですか?
乾杯。
ハハ、facepalm。私はページ番号付けに使うパラメータの名前だと思っていました。ありがとう! – slurms
ええ、それはむしろ不十分な名前です。お役に立てて嬉しいです! – Hamms