Наследование модели в Django формах - PullRequest
0 голосов
/ 19 июня 2020

Как я могу получить доступ к данным дочерней модели в Django формах?

Forms.py

class CourseForm(ModelForm):

class Meta:
    model = Course
    fields = '__all__'

class SectionForm(ModelForm):

class Meta:
    model = Section
    fields = '__all__'

Models.py

class Section(models.Model):
SEM = (
    ('1st', '1st'),
    ('2nd', '2nd'),
    ('Summer','Summer'),
)

section_code = models.CharField(max_length=22)
academic_year = models.CharField(max_length=22)
semester = models.CharField(max_length=22, choices=SEM)
course_fk = models.ForeignKey(
    Course, models.CASCADE, db_column='course_fk')
course_staff_fk = models.ForeignKey(
    Course, models.CASCADE, db_column='course_staff', related_name='course_staff')
schedule_fk = models.ForeignKey(
    Schedule, models.CASCADE, db_column='schedule_fk')
scheduleClassroom_fk = models.ForeignKey(
    Schedule, models.CASCADE, db_column='schedule_classroom_fk', related_name='classroom_schedule')

def __str__(self):
    return self.section_code

Views.py

def add_sections(request):
form = SectionForm()
if request.method == 'POST':
    form = SectionForm(request.POST)
    if form.is_valid():
        user = form.save()

        messages.success(request, 'Section Created')

        return redirect('add_section')


context = {'form':form}
return render(request, 'app/add_section.html', context)

HTML

<div class="input-group mb-3">
   <div class="input-group-append">
     <label for="course-staff">Course Instructor</label>
   </div>
    {{form.course_staff_fk.staff_fk}} ### This is what i hope to do
    {{form.course_staff}} ####This is whats working but doesnt give me the right data
</div>

Я надеялся получить дочерние данные через формы django. Я пробовал использовать __ для доступа к дочерней модели, но с тем же результатом. Любая помощь и совет приветствуются. Я надеюсь, что это сообщество поможет мне в моей проблеме. Спасибо

...