[FIX] HORILLA VIEWS: Fix ReverseOneToOneDescriptor and ForwardManyToOneDescriptor issue while sorting

This commit is contained in:
Horilla
2024-07-30 14:20:55 +05:30
parent db7f2f1a99
commit 47fbb51538
3 changed files with 13 additions and 6 deletions

View File

@@ -11,7 +11,11 @@ from django import template
from django.contrib import messages
from django.core.cache import cache as CACHE
from django.core.paginator import Paginator
from django.db.models.fields.related_descriptors import ForwardManyToOneDescriptor
from django.db.models.fields.related import ForeignKey
from django.db.models.fields.related_descriptors import (
ForwardManyToOneDescriptor,
ReverseOneToOneDescriptor,
)
from django.http import HttpResponse
from django.middleware.csrf import get_token
from django.shortcuts import redirect, render
@@ -236,8 +240,12 @@ def getmodelattribute(value, attr: str):
result = getattr(result, attr)
if isinstance(result, ForwardManyToOneDescriptor):
result = result.field.related_model
else:
return None
elif hasattr(result, "field") and isinstance(result.field, ForeignKey):
result = getattr(result.field.remote_field.model, attr, None)
elif hasattr(result, "related") and isinstance(
result, ReverseOneToOneDescriptor
):
result = getattr(result.related.related_model, attr, None)
return result

View File

@@ -368,7 +368,6 @@
</script>
{% endif %}
{% endif %}
</div>
<script>
$("ul[data-search-url] a").click(function (e) {
e.preventDefault();

View File

@@ -1,8 +1,8 @@
<form
<form
hx-post="{{request.path}}?{{request.GET.urlencode}}"
>
{% include "generic/form.html" %}
<input type="hidden" name="path" value="{{path}}" />
<input type="hidden" name="referrer" value="{{referrer}}" />
</form>