Заполнение раскрывающегося списка в Django - PullRequest
0 голосов
/ 13 марта 2020

Учитывая, что у меня есть 2 модели:

  1. Кафедра
  2. Курс

Мои django каталоги проектов структурированы так:

\timetable_generator
     \detailscourse
         \templates
             \detailscourse
                  \partials
                  add_course.html
         admin.py
         models.py
         views.py

     \detailsdepartment
         \templates
             \detailsdepartment
                  \partials
                  add_department.html
         admin.py
         forms.py
         models.py
         views.py

models.py-detailsdepartment выглядит так:

from django.db import models

# Create your models here.
class Department(models.Model):
   department_id = models.CharField(primary_key=True, max_length=20)
   department_name = models.CharField(max_length=100)

   def __str__(self):
      return self.department_name

forms.py-detailsdepartment выглядит так:

from django import forms
from .models import Department

class DepartmentForm(forms.ModelForm):
    class Meta():
        model = Department
        fields = '__all__'

views.py-detailsdepartment выглядит так:

from django.shortcuts import render, redirect
from django.contrib import messages
from .models import Department
from .forms import DepartmentForm

# Create your views here.
def adddepartment(request):
    form_class = DepartmentForm
    form = form_class(request.POST or None)

    if request.method == 'POST':
        if form.is_valid():
            cleaned_info = form.cleaned_data
            form.save(commit=True)
            messages.success(request, 'The department is added successfully.')
            return redirect('/detailsdepartment/adddepartment')
        else:
            messages.error(request, 'Department ID already exists.')
            return redirect('/detailsdepartment/adddepartment')
    else:
        return render(request,'detailsdepartment/add_department.html', {'form':form})

admin.py-detailsdepartment выглядит так:

from django.contrib import admin
from .models import Department

# Register your models here.
class DepartmentAdmin(admin.ModelAdmin):
    list_display = ['department_id', 'department_name']

admin.site.register(Department, DepartmentAdmin)

И веб-страница отдела отдела выглядит так

add_course. html -detailscourse выглядит так:

.
.    
.
<div class="row mb-5">
        <div class="col-lg-12">
          <form class="p-4 p-md-5 border rounded" method="post">
            <h3 class="text-black mb-5 border-bottom pb-2">Course Details</h3>

            <div class="form-group">
              <label for="select-semester">Department ID</label>
              <select class="selectpicker border rounded" id="select-department-d" data-style="btn-black" data-width="100%" title="Select Department ID">
                    <option>--------</option>
                    <option>--------</option>
                    <option>--------</option>
                    <option>--------</option>
              </select>
            </div>
            .
            .
            .
            .

Вопрос

Я хочу добавить ИД отдела из models.py-detailsdepartment в этом вариантах разделе раскрывающийся список.

models.py-detailscourse выглядит следующим образом:

from django.db import models

# Create your models here.
class Course(models.Model):
    pass

Что кодировать здесь, чтобы сделать это?

views.py-detailscourse выглядит л Икэ это:

from django.shortcuts import render

# Create your views here.
def addcourse(request):
    return render(request,'detailscourse/add_course.html')

И что здесь код, чтобы сделать это?

Вопрос

И мне нужно создать forms.py в приложении detailscourse

Вопрос

И что нужно изменить в add_course. html чтобы отразить это на веб-странице.

И огромное спасибо заранее.

...