Как упростить код функции?
Задача: вернуть список заказов с опциональной передачей аргументов limit
(это максимум сколько записей вернуть), и offset
(это сколько сместить с начала)
Вот мой код, он работает, но мне кажется можно записать попроще, но не приходит в голову, как?
Основная проблема в том, что их могут и не передать, или передать только один, поэтому приходится каждый случай портянками обрабатывать...
def get_queryset(self):
limit = self.request.query_params.get('LIMIT')
offset = self.request.query_params.get('OFFSET')
limit = int(limit) if limit else None
offset = int(offset) if offset else None
if limit and offset:
return Orders.objects.all()[offset:offset+limit]
if limit:
return Orders.objects.all()[:limit]
if offset:
return Orders.objects.all()[offset:]
return Orders.objects.all()
Источник: Stack Overflow на русском