我继承了另一个开发应用程序......然后......扩展和加载正确的内容类型与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的廉价方式,而无需循环所有扩展模型以获取网站上的正确位置。