我繼承了另一個開發應用程序......然後......擴展和加載正確的內容類型與Django模型
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]
當然,這可能會返回LowLevelModel絕對URL,我想知道是否有人知道調用LowLevelModel.objects的廉價方式,而無需循環所有擴展模型以獲取網站上的正確位置。