i used filterset for my view in django like this :
class CalendarEventListFilter(filters.FilterSet):
start_time = filters.DateTimeFilter(field_name='start_time', lookup_expr="gte")
end_time = filters.DateTimeFilter(field_name='end_time', lookup_expr="lte")
class Meta:
model = CalendarEvents
fields = ['start_time', 'end_time']
and this is my model :
class CalendarEvents(BaseTimestampModel, BaseOwnershipModel):
EVENT_KINDS = [
('DANGER', _("Danger")),
('SUCCESS', _("Success")),
('WARNING', _("Warning")),
('INFO', _("Info")),
('NEUTRAL', _("Neutral")),
]
kind=models.CharField(max_length=100 , choices=EVENT_KINDS)
name = models.CharField(_('name'), max_length=150)
start_time = models.DateTimeField(_('start time'))
end_time = models.DateTimeField(_('end time'))
reminder_time = models.DateTimeField(_('reminder time'))
description = models.CharField(_('description'), max_length=255)
class Meta:
ordering = ['-id']
verbose_name = _('calendar event')
verbose_name_plural = _('calendar events')
default_permissions = ()
permissions = ()
def __str__(self):
return self.name
also this is my view :
class CalendarEventListView(ListAPIView):
queryset = CalendarEvents.objects.all()
serializer_class = CalendarEventListSerializer
permission_classes = (IsAuthenticated,CanViewCalendarEvents)
filter_backends = (filters.DjangoFilterBackend, SearchFilter, OrderingFilter)
filterset_class = CalendarEventListFilter
pagination_class = None
the problem is that when i use api endpoint and send request with this format
api//calendar_events/?start_time=2020-01-01
it works . but when i use end_date like this
api//calendar_events/?start_time=2020-01-01&end_time=2021-01-02
it doesnt work .
also i checked my settings are :
TIME_ZONE = ‘UTC’
USE_I18N = True
USE_TZ = True
when i use
api//calendar_events/?end_time=2021-01-02 also not working !
tested database too !
tried getting objects from shell also no working !
tried postman too .
tried raw query directly from database too .
naser ghayem is a new contributor to this site. Take care in asking for clarification, commenting, and answering.
Check out our Code of Conduct.