diff --git a/horilla_views/cbv_methods.py b/horilla_views/cbv_methods.py index 7540f97ab..93df82dda 100644 --- a/horilla_views/cbv_methods.py +++ b/horilla_views/cbv_methods.py @@ -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 diff --git a/horilla_views/templates/generic/horilla_list.html b/horilla_views/templates/generic/horilla_list.html index ff1f7d711..ba6b9ba34 100644 --- a/horilla_views/templates/generic/horilla_list.html +++ b/horilla_views/templates/generic/horilla_list.html @@ -368,7 +368,6 @@ {% endif %} {% endif %} -