Я унаследовал приложение от другого разработчика ... и ...
class LowLevelModel(models.Model):
content = models.TextField()
def get_absolute_url(self):
from foo.pages.models import DynamicPage
from django.contrib.contenttypes.models import ContentType
my_type = ContentType.objects.get_for_model(self)
try:
dynamic_page = DynamicPage.objects.get(content_type=my_type)
return "%s%s/" % (dynamic_page.get_absolute_url(), self.slug)
except DynamicPage.DoesNotExist:
return "/resources/"
class HighLevelModel(LowLevelModel):
def get_absolute_url(self):
from foo.pages.models import DynamicPage
from django.contrib.contenttypes.models import ContentType
my_type = ContentType.objects.get_for_model(self)
try:
dynamic_page = DynamicPage.objects.get(content_type=my_type)
return "%s%s/" % (dynamic_page.get_absolute_url(), self.slug)
except DynamicPage.DoesNotExist:
return "/resources/"
class ResourceFeed(Feed):
title="Something awesome"
link = '/resources/'
def items(self):
return LowLevelModel.objects.order_by('pub_date').reverse()[:5]
Естественно, это могло бы вернуть абсолютный URL-адрес LowLevelModel, мне было интересно, если бы кто-нибудь знал о дешевом способе вызова объектов LowLevelModel.object без необходимости циклически проходить по всем расширяющим моделям, чтобы получить правильное местоположение на сайте.