Я застрял на некоторое время над этой довольно простой, но сложной задачей. На самом деле немного сложно описать проблему, поэтому, надеюсь, вы обнажитесь со мной.
У меня есть 3 модели:
class Subject(models.Model):
batch = models.CharField(choices=LEVEL_CHOICES, max_length=2)
subject_name = models.CharField(max_length=50)
...
class StudentRegistration(models.Model):
subject = models.ManyToManyField(Subject)
...
class Season(models.Model):
season = models.CharField(max_length=2, primary_key=True)
subject = models.ManyToManyField(Subject)
running = models.BooleanField(default=False)
Я хочу создать форму StudentRegistration
для определенный Subject
на определенный Season
. Для этого я сначала создал форму, где пользователь выбирает Season
и пакет. Вид выглядит следующим образом:
def admission(request):
if request.method == 'POST':
form = DeterminingForm(request.POST)
if form.is_valid():
selected_season = form.cleaned_data['season']
selected_batch = form.cleaned_data['batch']
form = DeterminingForm()
После этого я хочу создать форму StudentRegistration
, где у пользователя будет возможность выбрать темы, которые доступны для этого selected_season
, и selected_batch
. Я создал ModelForm для этого, но я не знаю, как запросить базу данных, взяв значение из представления в форму, и отобразить доступные параметры в поле выбора (или любом другом применимом поле). В настоящее время все, что у меня есть для этого - это форма:
class StudentRegistrationForm(forms.ModelForm):
class Meta:
model = StudentRegistration
fields = '__all__'
Я не знаю, что и как делать, любая помощь будет высоко оценена!