Как добавить связанное поле в отображении (контроллере) от класса DetailView?
Есть две модели: в одной хранятся сведения о документе (Document), во второй - текст документа в определенной редакции (DocVersion). Связаны через ForeignKey, так как один документ может иметь несколько текстов с разной датой редакции.
class Document(models.Model):
id = models.AutoField(primary_key=True)
doc_title = models.TextField(verbose_name="Название")
class DocVersion(models.Model):
date_version = models.DateField(verbose_name="Дата редакции")
document = models.ForeignKey(Document, on_delete=models.CASCADE)
date_start = models.DateField(verbose_name="Начало действия редакции")
text = models.TextField(verbose_name="Текст документа")
Вывод построен на представлении на основе класса DetailView.
class DocumentDetailView(generic.DetailView):
model = Document
def get_context_data(self, **kwargs):
context = super(DocumentDetailView, self).get_context_data(**kwargs)
context['text'] = 'Текст документа'
return context
Как в нем заполнить переменную text полем из модели DocVersion, имеющим самую позднюю дату date_start?