Есть три модели:
# Модель мероприятия
class Event(models.Model):
title = models.CharField("Название мероприятия", max_length=25)
location = models.CharField("Место проведения", max_length=25)
# Модель простого поста в блоге
class Post(models.Model):
title = models.CharField("Заголовок поста", max_length=50)
body = models.TextField("Текст поста", blank=True, null=True)
pub_date = models.DateTimeField("Дата публикации", default=timezone.now)
# Модель поста привязанного к конкретному мероприятию
class EventPost(Post):
event = models.ForeignKey(Event, on_delete=models.CASCADE)
Суть в том что нужно в блоге выводить все посты (связанные с меропр. и простые) по дате добавления, но к постам от мероприятий в шаблоне добавляется плашка с названием мероприятия и места. Т.е. можно объединить два запроса и передать в шаблон, но не могу придумать как вытащить в плашку значения из модели мероприятий.
Приходил в голову вариант сделать в модели EventPost свойство чтото типа
@property
def location(self):
location = Event.objects.get(pk=self.event)
Но мне кажется это не очень правильный вариант (да и не факт что рабочий))