В моем проекте есть класс 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 %}