Skip to content

Field not exist checking #17

@isergey

Description

@isergey
    def render(self, context):
        key = self.queryset_var.var
        value = self.queryset_var.resolve(context)
        order_by = context['request'].field
        if len(order_by) > 1:
            try:
                try:
                    field_name = order_by
                    if order_by[0] == '-':
                        field_name = order_by[1:]
                    # check for order field exist in model
                    value.model._meta.get_field(field_name)
                    context[key] = value.order_by(order_by)
                except FieldDoesNotExist as e:
                    if settings.DEBUG == True:
                        raise e

            except template.TemplateSyntaxError:
                if INVALID_FIELD_RAISES_404:
                    raise Http404('Invalid field sorting. If DEBUG were set to ' +
                    'False, an HTTP 404 page would have been shown instead.')
                context[key] = value
        else:
            context[key] = value

        return ''

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions