Django Внешний ключ Создать форму Получить экземпляр - PullRequest
0 голосов
/ 16 февраля 2020

Когда я создаю новый объект с полем внешнего ключа, есть ли способ в шаблоне получить поля объекта внешнего ключа в шаблоне в форме создания? Всякий раз, когда я создаю новую заметку, я хотел бы иметь: «Добавить новую заметку к {{заявителю.full_name}}» *

class Applicant(models.Model):
    first_name = models.CharField(max_length=128,blank=False, verbose_name="First Name")
    middle_name = models.CharField(max_length=128,blank=True, verbose_name="Middle Name")
    last_name = models.CharField(max_length=128,blank=False, verbose_name="Last Name")

    @property
    def full_name(self):
        "Returns the applicant's full name."
        return '%s %s %s' % (self.first_name, self.middle_name, self.last_name)

class Note(models.Model):
    applicant = models.ForeignKey(Applicant, related_name='notes', on_delete=models.CASCADE)
    description = models.TextField(blank=True)
)

(обновлено). Вот представление:

class NoteCreate(CreateView):
    model = Note
    form_class = forms.NoteForm
    template_name = 'careers/add_note.html'

    def form_valid(self, form):
        applicant_pk = self.kwargs['pk']
        applicant = Applicant.objects.get(pk=applicant_pk)
        self.object = form.save(commit=False)
        self.object.applicant = applicant
        self.object.save()
        return super(NoteCreate, self).form_valid(form)
...