В моем проекте у меня есть класс NewsItem.Экземпляры NewsItem действуют как обертка.Они могут быть связаны либо с экземпляром ArtWork, либо с экземпляром объявления.
Вот как выглядит модель NewsItem:
class NewsItem(models.Model):
content_type = models.ForeignKey(ContentType)
object_id = models.PositiveIntegerField()
content_object = generic.GenericForeignKey('content_type', 'object_id')
date = models.DateTimeField(default=datetime.datetime.now,)
class Meta:
ordering = ('-date',)
def __unicode__(self):
return (self.title())
В шаблоне, который я имею дело с экземпляром NewsItem, ихотел бы вывести определенную связку html, если он «оборачивает» экземпляр Artwork, и другую связку html, если он оборачивает экземпляр Announcement.Может кто-нибудь объяснить, как я могу написать условное тестирование для этого?
Моя первая наивная попытка выглядела так:
{% if news_item.content_object.type=='Artwork' %}do this{% else %}do that{% endif %}