Reputation: 2182
According to the doc and this issue there is no default pagination or maximum limit on returned results.
I've managed to have a default pagination by defining field_cls
:
PAGINATION_MAX_LIMIT = 1000
class DefaultPaginationStrawberryDjangoField(StrawberryDjangoField):
def apply_pagination(self, queryset, pagination=None):
if pagination is None:
pagination = OffsetPaginationInput()
if pagination.limit > PAGINATION_MAX_LIMIT or pagination.limit == -1:
pagination.limit = PAGINATION_MAX_LIMIT
return super().apply_pagination(queryset, pagination)
@strawberry.django.type(Project, pagination=True)
class ProjectType:
...
@strawberry.type
class Query:
projects: list[ProjectType] = strawberry.django.field(field_cls=DefaultPaginationStrawberryDjangoField)
Since I do not want to use Relay, there is a better / cleaner way ?
Upvotes: 1
Views: 155