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