嘿,我有一个可以通过2个不同的网址(取决于域名)加入的模型。我在视图和模板中使用它们没有问题。
在构建站点地图时,get_absolute_url不应该返回相同的内容,所以我想:我可以继承模型并覆盖get_absolute_url方法:
class FanpitConcert(BandtasticConcert):
def get_absolute_url(self):
return ('event_checkout',(),{'artist_slug':self.slug_name,
'year': self.get_date().year,
'month': self.get_date().month,
'day': self.get_date().day,
})
class Meta:
abstract = True
然后将此子类化模型用于站点地图类
class ConcertsSiteMap(Sitemap):
def items(self):
return FanpitConcert.objects.all().filter(app='Fanpit')
但是当我访问/sitemap.xml时,django仍然从原始模型调用get_absolute_url
这里有魔法django吗?还是我错过了一些明显的东西?
更新
我尝试删除abstract = True部分并继续使用 类Meta: db_table ='same_table_as_base_model'
但现在django抱怨找不到专栏。