我正在使用 Django 休息框架。
在查询集中,我试图根据它们的日期是否大于或等于今天来过滤我的对象。像这样:
class DateViewSet(viewsets.ModelViewSet):
"""
API Endpoint to retrieve all dates after today.
"""
serializer_class = DateSerializer
today = datetime.date.today()
queryset = EventDate.objects.filter(end_date__gte=today)
但这最终也会显示过去的日期。
我的序列化器:
class DateSerializer(serializers.ModelSerializer):
class Meta:
model = EventDate
fields = ('start_date', 'end_date')
然后我将它传递给事件序列化器:
class EventSerializer(serializers.HyperlinkedModelSerializer):
id = serializers.StringRelatedField()
dates = DateSerializer(many=True, read_only=True)
class Meta:
model = Event
fields = '__all__'
extra_kwargs = {
'url': {'lookup_field': 'slug'},
}
我的目标是当我的 API 返回所有事件时,它不应该返回过去的所有日期。
我究竟做错了什么?