У меня есть три разных модели для моего приложения. Все работают так, как я ожидал.
class Tender(models.Model):
title = models.CharField(max_length=256)
description = models.TextField()
department = models.CharField(max_length=50)
address = models.CharField(max_length=50)
nature_of_work = models.CharField(choices=WORK_NATURE, max_length=1)
period_of_completion = models.DateField()
pubdat = models.DateTimeField(default=timezone.now)
class Job(models.Model):
user = models.ForeignKey(settings.AUTH_USER_MODEL)
title = models.CharField(max_length=256)
qualification = models.CharField(max_length=256)
interview_type = models.CharField(max_length=2, choices=INTERVIEW_TYPE)
type_of_job = models.CharField(max_length=1, choices=JOB_TYPE)
number_of_vacancies = models.IntegerField()
employer = models.CharField(max_length=50)
salary = models.IntegerField()
pubdat = models.DateTimeField(default=timezone.now)
class News(models.Model):
user = models.ForeignKey(settings.AUTH_USER_MODEL)
title = models.CharField(max_length=150)
body = models.TextField()
pubdat = models.DateTimeField(default=timezone.now)
Теперь я показываю каждую из них на отдельной странице для каждой модели (например, на странице заданий, я показываю только задания). Но теперь на главной странице я хочу отобразить их в соответствии с опубликованной датой на той же странице. Как я могу отображать разные объекты из разных моделей на одной странице? Я делаю отдельную модель, например. class Post
, а затем использовать сигнал для создания нового сообщения всякий раз, когда новый объект создается из Tender
или Job
или News
? Я действительно надеюсь, что есть лучший способ достичь этого. Или я использую наследование нескольких таблиц? Пожалуйста, помогите мне. Спасибо.
Update:
Я не хочу показывать каждый из объектов модели отдельно на той же странице. Но, как фиды facebook или любые другие социальные сети. Предположим, что в fb все сообщения (будь то изображение, статус, доля) отображаются вместе на домашней странице. Аналогично, в моем случае предположим, что был создан новый объект Job, и после этого создается новый объект News. Затем я хочу сначала показать объект News, а затем объект Job и т.д.