Skip to content

ordered_by for external content fetching, not only queryset #4

Description

@weber-s

For now, the ordered_by kwarg is use only for objects already fetch

    def get_queryset(self, *args: tuple, **kwargs: dict) -> QuerySet:
        """
        Return the queryset filtered by app + contentype and optionaly channel and channel object
        if it's given
        """
        qs = super().get_queryset(*args, **kwargs)
        [...]

        if self.ordered_by:
            order = ""
            if self.ordered_by.startswith("-"):
                order = "-"
                ordered_by = self.ordered_by[1:]
            else:
                ordered_by = self.ordered_by
            qs = qs.order_by(f"{order}content_data__{ordered_by}")
        return qs

however many API endpoint support sorting as well (e.g gitlab milestone) but have default ordering. So retrieving default "10 milestone" would be the "10 first created" using default gitlab milestone API endpoint. But let's say we want the "10 last updated" or "10 last created" (i.e. most recent ones)? It would be super useful to allow sorting at the proxy level.

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    enhancementNew feature or request

    Type

    No type

    Projects

    No projects

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions