在完成教程和几个小样本之后,我刚刚开始了我的第一个django应用程序。我有以下模型(非常简化):
class Candidate(models.Model):
name = models.CharField(max_length=100)
class Vacancy(models.Model):
title = models.CharField(max_length=100)
description = models.CharField(max_length=200)
candidates = models.ManyToManyField(Candidate, blank=True, null=True)
我已经创建了一个表格,我可以添加一个新的空缺,候选人显示为多选框:
class CandidateForm(ModelForm):
class Meta:
model = Candidate
class VacancyForm(ModelForm):
class Meta:
model = Vacancy
但是,我应该如何在候选表格上添加一个选择框,这样我还可以查看候选人申请的职位空缺?
我找到了内联表单,但是通过阅读doc无法实现如何使用它们。
提前多多感谢。
BR, 伊格纳西奥。
答案 0 :(得分:0)
手动添加ModelChoiceField会让你到达那里:
from django import forms
class CandidateForm(ModelForm):
vacancies = forms.ModelChoiceField(queryset=Vacancy.objects.order_by("title"))
class Meta:
model = Candidate
然后在你看来,你会做类似的事情:
if request.POST:
form = CandidateForm(request.POST)
if form.is_valid():
candidate = form.save()
for v in form.cleaned_data["vacancies"]:
v.candidates.add(candidate)